stm32主函数死掉,中断可以进入
最近程序遇到了问题,很着急:开机后,主函数一直在死循环里等待处理请求,另外开启了TIM2和TIM3定时中断,进入中断时间为100ms,还有USART2 UART4和UART5分别作为IRDA RFID 和RS485 接收中断,现在并没有操作IRDA和RFID,只有RS485每100ms进入接收中断,设置标志位,主函数根据标志位开始处理,进行RS485数据发送,处理完继续等待,TIM2中有读stm32的时钟并显示时间,TIM3中有灯闪烁控制,程序运行的就这些东西,但出现的问题现象为:主函数死循环真的死掉了,不再运行,而中断函数却能进入,请各位大侠帮忙分析一下原因,指导一下小弟,万分感谢!
[解决办法]
中断间隔时间100ms调大试一下,另外每个中断间隔时间最好不要一样
[解决办法]
主函数死循环真的死掉了,不再运行,而中断函数却能进入,请各位大侠帮忙分析一下原因,指导一下小弟,万分感谢!
有可能不是没有运行,而是你的中断过于频繁导致你的主程序无法得到运行时间
要不LZ查一下中断的处理,或者,再理清楚一下中断的优先级和次序
[解决办法]
这个只能看看你程序里是否有一直等待某个标志的代码,因为既然中断有响应,肯定不是进了异常模式
还可以架上仿真器看看死在哪里了,或者在出现问题的时候在某个中断中把主程序执行位置的寄存器参数通过串口打印出来
如果实在找不到问题,就加狗吧