关于看门狗和STOP模式的疑惑

2019-08-29 08:49发布

目前我的程序是,利用stop让CPU进入停机,想加入看门狗防止程序跑飞或者死机,但是看到论坛有人提出疑问就是,进入STOP模式之后,看门狗并不会停止,如果不去喂狗,会造成看门狗复位,请问有什么解决的方法吗?

论坛中的帖子好像没有下文。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
好人
1楼-- · 2019-08-29 09:01
看门狗是没停止.如果你的系统需要定时唤醒,那么就可以用看门狗中断来实现。还可以防止停机时候程序睡死。
adaphoto
2楼-- · 2019-08-29 14:12
回复【2楼】好人:
---------------------------------
谢谢回复,我不需要定时唤醒哦。
我用外部中断唤醒,只是我不想要在STOP模式下,被看门狗唤醒。

看门狗只是想用在系统正常运作状态下,防止程序跑飞

请教有什么办法吗?
好人
3楼-- · 2019-08-29 18:13
 精彩回答 2  元偷偷看……
adaphoto
4楼-- · 2019-08-29 21:29
回复【4楼】好人:
---------------------------------
谢谢回复。
我硬件上的设计是,电路板一直带电,因为RTC备用电源和主电源是连接在一起的。
进入STOP模式只是外部看起来好像是关机了。
然后从STOP模式唤醒之后,程序上执行一次软件复位。

目前发现程序偶尔会跑死,只能被迫用reset的方式,来硬件复位。所以,才想要加入看门狗来保证程序在正常执行的时候不跑死。

那按照您的方法就是,RTC定时中断,唤醒CPU喂狗,然后重新进入STOP模式。
这样设计达不到低功耗的目标了。因为CPU几十秒就唤醒一次。

请教您说的硬件方式是怎么实现呢?
好人
5楼-- · 2019-08-29 23:12
硬件复位就是用IO脚控制外部电路,给MCU断电,重新上电。你需要在单片机内部或外边flash存储一个状态标识,上电后读出来,看否需要进入STOP或者run后面的正常程序。其实定时唤醒做好了,还是非常省电的,几分钟唤醒一次,仅MCU低频工作几mS,总体功耗非常小。几百mAH的电池,待机几年没问题。
adaphoto
6楼-- · 2019-08-30 00:28
回复【6楼】好人:
---------------------------------
谢谢回复。
我现在在SPI_FLASH有设定一个标志位,判断设备是进入STOP后外部唤醒,还是通过reset重启的。

您说的RTC定时唤醒,会和外部中断唤醒冲突吗?请问是否有RTC定时唤醒喂狗的例程可以参考?谢谢

一周热门 更多>