喂狗:重新把装载寄存器中的值装载至计数寄存器或者直接往计数寄存器写入数据,保证mcu不会复位。
被狗咬:没有及时喂狗或者喂狗过于频繁,后者只存在于窗口看门狗,在独立看门狗中不存在喂狗过快还被狗咬的现象。
也不知道谁起的名字。。。。。。
窗口看门狗之所以叫窗口就是因为其喂狗时间是一个有上下限的范围(窗口)。通过设定相关寄存器,设定其上限时间(下限固定),喂狗的时间不能过早也不能过晚。
独立看门狗限制喂狗时间在0-x内,x由相关寄存器决定。喂狗的时间不能过晚。
结合图示说明窗口看门狗的工作流程:
窗口看门狗开启之后,cnt递减计数器开始工作,初始值人为决定,但是一定要大于3FH,stm32f10x系列计数寄存器WWDG_CR只有低8位有效,其中低7位即
T[0:6]保存计数值,最高为7FH,当其递减至3FH时候,表示到到了窗口的下限,在这之前如果没有喂狗就要被狗咬了。
除了计数寄存器之外还有一个重要寄存器来设置窗口的上限,stm32f10x系列的配置寄存器WWDG_CFR低10位有效,但是低7位即W[6:0]来保存上限数值。窗口上限可以自己设置,但是一定不能低于3FH,如果低于了就不会有窗口。
所以,窗口看门狗只能在图示刷新窗口内喂狗,高于上限或者低于下限都会被狗咬。