请问STM32如何实现看门狗复位不初始化RAM区

2019-07-14 14:13发布

大家好,我是做工业控制的,我想问一下STM32如何实现看门狗复位不初始化RAM区,因为是做控制的所以我们想实现CPU热复位后系统能接着原来的流程走,动作开出能不受看门狗复位的影响,即复位前开出的动作,看门狗复位后还是保持开出状态,网上说可以修改启动代码,请问如何实现?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
TOPCB
1楼-- · 2019-07-14 18:16
如果是RESET引脚复位不可能实现。
东少2016
2楼-- · 2019-07-14 18:31
没法不复位RAM,复位后片内RAM都在上电时刻清空,你无法预置复位的时刻点,除非你检测看门狗,快要复位的时候,自动备份一把到FLASH里,但是备份需要的时间比较长。
xzvzczfa
3楼-- · 2019-07-14 21:14
1、用窗口看门狗WWDG,开通中断,复位前会进入中断,中断中可以保存RAM数据写到FLASH中或者后备寄存器中。然后把其中一个写入特定的数字。复位后重启开始时判断是否看门狗复位,如果是,则把变量拷贝回RAM初始化变量,FALSH读出是一样的。如果不是看门狗复位,而是人为复位,则不考贝变量,直接初始化清零。

2、每一次操作后,改变了IO,或者改变了状态,都写到后备寄存器或FLASH中,不过这个寿命有限,最好外接EEPROM作为存储。FLASH的话,可以用一个字节指示写入次数,多于多少次就换下一页。这样寿命就很长了。重启复位时,判断是否看门狗复位,是的话,从FLASH读出上一次的状态就好了。
bo791755101
4楼-- · 2019-07-15 00:59
 精彩回答 2  元偷偷看……

一周热门 更多>