那些藏在心底的秘密,有时比谎言更伤人

核心内容摘要

解锁“身”之奥秘:探寻身心和谐的极致之道
白鹿造梦:在山野星辰间,点亮你的诗与远方

葫芦里面不卖药,千万影片:一次颠覆想象的观影盛宴

通过相关的寄存器可以看出需要关注 RCC_CSR 寄存器中的以下两个标志位IWDG_ANY_RSTF独立看门狗复位标志如果该位为 1说明发生了独立看门狗复位。

WWDG_ANY_RSTF窗口看门狗复位标志如果该位为 1说明发生了窗口看门狗复位。

参考代码标准库实现if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) ! RESET) { // 发生了独立看门狗复位 // 执行你的处理逻辑比如记录日志 } if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) ! RESET) { // 发生了窗口看门狗复位 } // 最后务必清除标志位否则下次复位时这些位可能还保持为 1 RCC_ClearFlag();HAL库实现if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST)) { // 独立看门狗复位逻辑 } if (__HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST)) { // 窗口看门狗复位逻辑 } // 清除所有复位标志 __HAL_RCC_CLEAR_RESET_FLAGS();关键

注意事项检测时机 必须在系统启动后的初始化阶段如 main 函数开头尽早检测这些标志位。

手动清除 STM32 的复位标志位具有“累积性”。

如果芯片先因为看门狗复位重启后你没有调用 __HAL_RCC_CLEAR_RESET_FLAGS()那么下一次即便你按下 Reset 按键RCC_FLAG_IWDGRST 可能依然是 1。

所以检测完一定要清除。

低功耗影响 如果你的设备频繁进入待机模式某些复位标志位可能会表现不同需结合 RCC_FLAG_PORRST上电/掉电复位综合判断。

9·1免费版下载正版-9·1免费版下载正版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123