基本定时器TIM6 进不了中断服务程序

2019-08-21 12:09发布

这个是我的源代码,可是总是进不了中断,哪里出问题了》???菜鸟求祝。。。。。论坛上也没有关于基本定时器的使用,谢谢各位大神



void time6_init(u16 psc,u16 arr)
{
  RCC->APB1ENR|=1<<4;  //使能定时器6的时钟  
              
  TIM6->SC=psc;  //设置预分频数             
//  TIM6->EGR|=1<<0;   TIM6->ARR=arr;   //设置重装值
  TIM6->DIER|=1<<0;     //使能UIE更新中断
  TIM6->SR&=~(1<<0);   //清除状态标志位
   TIM6->CR1|=1<<0;   //一加上这个语句   程序就一直运行在这儿
  #ifdef EN_TIME6_INTERRUPT
 MY_NVIC_Init(1,1,TIM6_IRQChannel,2);//抢占优先级为0 次优先机0 组2 
  #endif }
//开启定时器
void time6_enable(void)
{
 TIM6->CR1|=1<<0;         //计数器使能
// fengmingqi=1;
}
//关闭定时器
void time6_disable(void)
{
 TIM6->CR1&=~(1<<0);    //计数器失能
}
void TIM6_IRQHandler(void)

 fengmingqi=1;
  if(TIM6->SR&0x0001)    //更新中断标志
  {
      LED2=!LED2;
  }
  TIM6->SR&=~(1<<0);    //清除更新中断标志位
   
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。