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

您所在的位置:网站首页 软件启动了但出不来 STM32定时器中断进去了出不来不能执行主函数

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

2024-07-12 16:01| 来源: 网络整理| 查看: 265

最近用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更新中断标志 (再清一次防错) }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3