STM32F103的普通定时器中断问题,存在开机后初始化,一打开允许中断,定时器立刻进入中断函数一次

问题:

存在开机后初始化,在TIM3_Int_Init()里面,一打开允许中断函数TIM_ITConfig(),定时器立刻进入中断函数一次。只进一次。
初始化函数最后已经关闭定时器:
TIM_Cmd(TIM3, DISABLE);  //暂关闭TIMx外设。将这个函数提到初始化最前面也没用。

解决方法:

总结:应该是TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);产生了更新事件,只要将 
TIM_ClearFlag(TIM5, TIM_FLAG_Update); 
 TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE); 放在TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);的后面,就不会出现一开允许中断函数TIM_ITConfig(),定时器立刻进入中断函数一次的情况。 
IM_Cmd(TIM5, ENABLE); 放前放后无所谓,他只是让计数器开始计数,只是放后面的话可能需要将计数器清零。 

希望对:解决一开允许中断函数TIM_ITConfig(),定时器立刻进入中断函数一次;有帮助。

猜你喜欢

转载自blog.csdn.net/qq_23327993/article/details/89022170