大神帮帮忙啊!
软件运行流程:MCU上电后,通过一个GPIO输出口(TOD)拉高锁住MCU供电电压;程序定时检测一个GPIO输入口(wakeup)信号,如果wakeup信号为低,2s后TOD置低,MCU断电。程序运行过程中CAN以500ms周期输出通讯数据。
问题描述:CAN通讯无数据,外部重启wakeup信号后,程序无法复位(分析是因为程序拉高TOD后进入了一个死循环,导致wakeup信号不能让程序复位)。重启MCU供电电源后CAN通讯恢复,程序恢复正常。
疑问:什么情况下程序进入死循环,而且WATCHDOG还不会让程序复位。
|