关于IWDG独立看门狗的问题

2019-07-20 15:10发布

独立看门狗实验的视频...想观察不喂狗的现象...
我将IWDG_ReloadCounter()注释掉...

按道理,不喂狗的现象是led灯亮0.1s,然后灭0.1s,依次循环...
但是注释掉后,led灯亮了7s左右,灭的时间却很短...

ps:我觉得IWDG_ReloadCounter()函数写在main函数的while循环里就可以了,因为按键的时候才喂狗呀,如果放在IWDG_Init函数中,系统复位后又在喂狗。
@正点原子





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 19:53
wahahsmd 发表于 2017-4-18 09:33
如图,只是注释了一行ReloadCounter()
我的理解是,在一直不喂狗的情况下,系统复位,IWDG_Init()会重 ...

写入RLR,并没有立即更新到看门狗计数器,所以,必须写入一次0XAAAA,才能使RLR的值加载到计数器里面,所以这句话不能省。
正点原子
2楼-- · 2019-07-20 20:32
 精彩回答 2  元偷偷看……
wahahsmd
3楼-- · 2019-07-20 21:34
本帖最后由 wahahsmd 于 2017-4-18 17:15 编辑
正点原子 发表于 2017-4-18 00:46
你不按按键,就是不喂狗了。不知道你代码怎么改的。。。

1HLN{S4BH)$IL2(`X_$MHJE.png IWDG.png
如图,只是注释了一行ReloadCounter()
我的理解是,在一直不喂狗的情况下,系统复位,IWDG_Init()会重新执行,而IWDG_Init()中有喂狗的函数,即每次复位后都会喂一次狗???所以我注释掉了ReloadCounter()。@正点原子

一周热门 更多>