32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种状况之一时产生看门狗复位:
1)当计数器的数值从0x40减到0x3F时
2)当改写看门狗时计数器的数值大于某一设定数值时,此设定数值在WWDG_CFR寄存器界说
关于一般的看门狗,程序能够在它产生复位前的恣意时刻改写看门狗,但这有一个危险,有或许程序跑乱了又跑回到正常的当地,或跑乱的程序正好履行了改写看门狗操作,这样的状况下一般的看门狗就检测不出来了;假如运用窗口看门狗,程序员能够依据程序正常履行的时刻设置改写看门狗的一个时刻窗口,确保不会提早改写看门狗也不会滞后改写看门狗,这样能够检测出程序没有依照正常的途径运转非正常地跳过了某些程序段的状况。
WWDG与IWDG的首要区别是有一个窗口操控,WWDG的中止是给你最终一次喂狗的时机,一般这个中止不是让你履行喂狗操作的;一般进到这个中止时表明你在其它当地组织的喂狗操作不能见效,而产生这种现象时,肯定是体系有问题了,或者是程序有Bug,或者是碰到了搅扰,在这种状况下,这个中止是为了让你的程序在产生真实的看门狗复位前,有一个紧迫处理的时机,如保存重要的数据,或做体系刹车等操作。
由此看出,简略地在WWDG中止喂狗,既没有发挥WWDG相关于IWDG的优势,又由于在中止中喂狗而为今后的产品留下了危险。
注:一般的看门狗与STM32的IWDG特点是相同的。