2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > STM32定时器中断进去了出不来不能执行主函数

STM32定时器中断进去了出不来不能执行主函数

时间:2021-01-16 01:47:24

相关推荐

STM32定时器中断进去了出不来不能执行主函数

最近用STM32F103做点东西,设置了定时器中断,出现了定时器一直在正常工作但是主函数不能运行的情况,检查时发现标志位清除是在进入定时器中断函数的一开始就执行清除,查询资料发现有时会出现一些情况导致这个标志位没有清掉,类似于又一次被设置上了。

解决办法

在定时器中断函数内部代码的最后再次对标志位进行清除。

实际测试效果良好,主函数可以正常运行了。

void TIM3_IRQHandler(void) //TIM3中断{if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查TIM3更新中断发生与否{TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中断标志 //这里加入要执行的代码}TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIMx更新中断标志 (再清一次防错)}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。