STM32 看门狗
STM32具有两个看门狗外设:独立看门狗(IWDG)和窗口看门狗(WWDG)。独立看门狗号称宠物狗,窗口看门狗号称警犬。两个看门狗均可用于检测并解决由软件错误导致的故障。当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。
IWDG适用于那些需要看门狗作为一个主程序之外,能够完全独立工作,并且对时间精度要求比较低的场合。
WWDG适用于那些要求看门狗在精确计时窗口起作用的应用程序
独立看门狗
独立看门狗一般用于避免程序跑飞或出现死循环的情况。
独立看门狗通俗一点的话来解释就是一个12位的递减计数器,当计数器的值从某一个值一直减到0的时候,系统就会产生一个复位信号。如果在计数没减到0之前,刷新了计数器的值的话(就是常说的喂狗),就不会产生复位信号。
窗口看门狗
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。