2020年3月26日,新冠病毒导致开学延迟,第一次遇到这个问题,可把我一通好搞!
具体问题是:STM32的定时器中断卡死了主程序循环
简单一点就是程序运行几分钟后主程序不执行了,直接卡死了,但是中断函数还可以用,定时器中断和串口中断还是在执行的!所以导致程序假死!这种情况看门狗也用不了。
问题原因分析:
1;定时器定时中断时间间隔很小,导致很快进入定时器中断
2;定时器中的程序代码很多,而且主程序的代码也很多;导致定时器中的代码没有执行完就又进入定时器中断
3;定时器中断中执行类似串口打印语句 (printf等具体原因搜索百度)
4;定时器之间的优先级冲突
具体解决方法先一点一点排除,首先要排除硬件上的问题!