窗口看门狗基本知识
什么是窗口看门狗
它也是一个看门狗,不过它的刷新(喂狗)操作,要在一个窗口时间内进行,不能大于时间窗的上限值或者小于下限值(0x40),这是它和独立看门狗不一样的地方。
窗口看门狗的作用
监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。(注:这里的故障不是程序死机,而是程序逻辑出现错误,导致没能够在窗口时间内刷新窗口看门狗)。除非递减计数器的值在T6位(WWDG–>CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG–>CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。如下图所示:
看了上面的好久没看懂 就是 0x40(01000000)固定下窗口和上窗口w【6 :0】(可能在这里又有疑问了 w【6:0】是什么,我的理解是寄存器的0位到6位 一共7位 也就是 0- 127)之间才允许刷新,否则复位
所以要避免复位,递减计数器必须在其值小于窗口寄存器的数值并且大于0x3f时被重新装载,因为窗口看门狗有一个WEI中断,开启时,当递减计数器到达0x40时,则产生此中断,相应的中断服务程序(ISR)可以用来加载计数器以防止WWDG复位