本帖最后由 hoop 于 2022-3-19 15:19 编辑
导致系统异常复位的复位源查找 应用设计中,有时可能会出现系统非预期复位的现象,此时需要查找是什么原因导致的复位,并做对应的处理。
本文以查询复位标志置位情况的角度,来浅析可能是什么原因导致的复位
1)NRST引脚复位标志(NRSTF)
此标志置位,说明在NRST引脚出现了复位脉冲,该复位脉冲导致了系统复位
2)上电/掉电复位标志(PORRSTF)
此标志置位,说明MCU发生了上掉电事件,该事件导致了系统复位
3)软件复位标志(SWRSTF)
此标志置位,说明软件代码写了软件复位命令,通常即NVIC_SystemReset()命令,该命令的执行导致了系统复位
4)看门狗复位标志(WDTRSTF)
此标志置位,说明因未及时喂狗而发生了WDT复位,该复位事件导致了系统复位
5)窗口看门复位标志(WWDTRSTF)
此标志置位,说明因未按照预期喂狗而发生了WWDT复位,该复位事件导致了系统复位
6)低功耗复位标志(LPRSTF)
此标志置位,说明应用有操作选择字节,并将nDEPSLP_RST或nSTDBY_RST位置,且在随后执行了进入Deepsleep或Standby命令,此时命令的执行会导致系统复位。
|