[技术问答] 看门狗复位后部分寄存器值被篡改,初始化流程被跳过

[复制链接]
 楼主| Stahan 发表于 2025-4-24 10:00 | 显示全部楼层 |阅读模式
看门狗触发复位后GPIO状态异常,疑似未重新初始化外设,如何在复位后保留关键变量?

jasontu 发表于 2025-4-24 15:50 | 显示全部楼层
wdt reset,代碼一定從0x0開始重跑。
如何在复位后保留关键变量? =>可以參考bsp, 在軟体作wdt reset之前,去寫dataflash
魔法森林精灵 发表于 2025-4-25 08:19 | 显示全部楼层
看门狗复位后确实可能会导致外设状态异常,建议检查看门狗复位后GPIO的初始化代码是否被正确执行。
魔法森林精灵 发表于 2025-4-25 09:29 | 显示全部楼层
看门狗复位后,确实可能会丢失一些外设的初始化状态。你可以尝试在复位后重新初始化GPIO,确保所有外设状态都按照预期设置。
作业天敌在此 发表于 2025-4-25 10:16 | 显示全部楼层
看门狗复位后保留关键变量,可以考虑使用非易失性存储器,比如EEPROM或者Flash。这样即使发生复位,关键数据也不会丢失。
梦境摆渡人 发表于 2025-4-26 20:58 | 显示全部楼层
看门狗复位确实可能导致外设初始化被跳过,你可以尝试在代码中添加一个标志位,每次复位后检查这个标志位,如果未设置则执行初始化流程。
魔法森林精灵 发表于 2025-4-26 21:39 | 显示全部楼层
看门狗复位后保留关键变量,你可以考虑使用硬件看门狗的'窗口'功能,这样可以在复位后恢复到特定的代码段执行初始化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

2335

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

107

主题

2335

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部