STM32
直播中

冯待策

7年用户 195经验值
私信 关注
[问答]

请问怎样设置TIM1才可以进入中断?

如下是我的设置,只要运行到最后一句(MY_NVIC_Init)立即死机,请问到底要怎样设置tiM1才可以进入中断?
采用类似的方法,TIM2,TIM3,TIM4都能够进入中断。TIM5和TIM1都不能进入中断。
请各位大侠帮助,谢谢!
void Timer1_Init(u16 arr,u16 psc)
{
RCC->APB2ENR|=1<<11;//TIM1时钟使能   
  TIM1->ARR=arr;  //设定计数器自动重装值  
TIM1->SC=psc;  //预分频器7200,得到10Khz的计数时钟
TIM1->RCR=arr;  
//这两个东东要同时设置才可以使用中断
TIM1->DIER|= 1<<0;   //允许更新中断   
TIM1->DIER|= 1<<6;   //允许触发中断
TIM1->CR1 |= 1<<0;    //使能定时器1
//   MY_NVIC_Init(0,0,TIM1_UP_IRQChannel,2);
}
void Timer5_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<3;//TIM5时钟使能   
  TIM5->ARR=arr;  //设定计数器自动重装值  
TIM5->SC=psc;  //预分频器7200,得到10Khz的计数时钟
//这两个东东要同时设置才可以使用中断
TIM5->DIER|= 1<<0;   //允许更新中断   
TIM5->DIER|= 1<<6;   //允许触发中断
TIM5->CR1 |= 1<<0;    //使能定时器1
//   MY_NVIC_Init(3,3,TIM5_IRQChannel,2);        
}

回帖(6)

张涛

2019-7-30 08:10:41
仿照原子哥的TIM3中断写的?
哦,你被骗了。。。
举报

徐珺

2019-7-30 08:24:11
是用我们的板子么?
那么先搞清楚,STM32F103RBT6有几个定时器?
再看看为什么TIM5不行.
TIM1的设置,和普通TIMX有点点区别的.具体看数据手册.有个主输出使能的东东.
举报

马丹丹

2019-7-30 08:31:45
谢谢。是用原子哥的板子的。TIM1的东东太复杂了,原子哥能否给个具体的例子?谢谢啦
举报

欧建杭

2019-7-30 08:50:38
没你想的那么复杂,呵呵.
TIM1_UP_IRQChannel,这个中断服务函数是否有实现?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分