STM32窗口看门狗WWDG,有关硬件复位清零的问题,教材一句话看不明白,如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32窗口看门狗WWDG,有关硬件复位清零的问题,教材一句话看不明白,如下:相关的知识,希望对你有一定的参考价值。

【WDGA 位则是看门狗的激活位,由软件置 1,以启动看门狗,并且一定要注意的是该位一旦设置,就只能在硬件复位后才清零了。】
问题:硬件复位后才清零,硬件复位是指掉电后上电?还是程序重新刷写或是别的?

也就是说,一旦开启了,没有办法再禁止了。除非重新掉电重启。这个为了防止你程序误操作的。一旦启动,只能喂狗。追问

也就是说带电reset,看门狗依然有效;如果停电了,再来电,看门狗就失效了?

追答

嗯。STM32还有一个IWWDG这个是只要开启就只能重新断电的。

追问

那我设计的设备,现场停电了,再来电看门狗就失效了??那看门狗还有什么意义?

追答

停电了,都不工作了,怎么可能还有监控意义呢,这个看门狗只是防止你的程序跑飞而已。不是防止停电的。

追问

我设计一块电路板,在公司测试正常,断了电寄给客户,客户通电,这时候看门狗就没有用了?如果我想客户上电也有看门狗运行,靠STM32本身的情况解决不了?

追答

你程序开始的时候,就要开启一次啊,就是一上电就有看门狗啊,这个不正是你想给客户的功能吗?

追问

我刷进程序,通电测试,然后断电。这时不就没有看门狗了吗?寄给客户他上电会启动狗?
1、掉电重启就会使看门狗失效,所以我测试后断电寄给客户,他们上电看门狗是无效的。
2、程序本身“开始的时候,就要开启一次啊,就是一上电就有看门狗”,所以停电并不能使看门狗失效。
以上两条信息都是今天咱们的谈话信息,哪个对?我怎么越来越糊涂好像?

追答

STM32本身的看门狗是关闭的,除非你程序启动;
像你 1 中说的断电后再上电,只要你程序是有启动看门狗的,肯定看门狗是会被程序启动的。其实看门狗本身就是一个计数器而已,是需要你程序去启动的。就这么简单。
如果你给了客户一个有看门狗的程序,那么客户上电看门狗肯定会启动啊。

参考技术A 也就是说,一旦开启了,没有办法再禁止了。除非重新掉电重启。

STM32之窗口看门狗

1、有个7位递减计数器(WWDG->CR),就这个计数器和窗口计数器(WWDG->CFR)决定什么时候喂狗。狗喂早了,复位——“早”体现在 计数器值(tr)>窗口值(wr),也就是计数器值还没有减到窗口值以下;

2、当 0x40 < 计数器值(tr) < 窗口值(wr) 时,这时候最适合喂狗了,也只有在这时候喂狗才合适;

3、当 计数器的值 从0x40变到0x3F的时候,将产生看门狗复位;当然在要产生复位的前一段时间,如果开启了提前唤醒中断,那么就会进入中断,在中断函数里,我们需要及时喂狗,否则会产生复位;

4、在这个中断里面一般不进行喂狗,一般是系统去世前的“遗嘱”,比如存储重要的数据等。 

以上是关于STM32窗口看门狗WWDG,有关硬件复位清零的问题,教材一句话看不明白,如下:的主要内容,如果未能解决你的问题,请参考以下文章

STM32G0学习手册——WWDG运用

STM32学习小记之窗口看门狗(WWDG)

STM32之独立看门狗(IWDG)与窗口看门狗(WWDG)总结

STM32之窗口看门狗

STM32F103五分钟入门系列(十四)窗口看门狗WWDG

stm32—复位