看门狗其实是一个特别的定时器

看门狗的英文是Watch Dog Timer。其实就是单片机内置的一个定时器,如果定时器溢出,可以让单片机复位重启,可以避免程序跑飞或者进入死循环后单片机没法正常工作。

单片机看门狗(Watch Dog Timer)工作原理

单片机看门狗(Watch Dog Timer)功能打开后,计时器会开始计时,如果计时值超过设定的最大值后,单片机就会产生内部复位,单片机重新初始化,程序重新运行。

我们要在程序循环中对看门狗(Watch Dog Timer)计时器进行清零。程序正常运行时,每个循环都会执行看门狗(Watch Dog Timer)计时器清零指令,计时器是不会溢出的。只有程序跑飞或者进入死循环后,没有办法执行我们设定的看门狗清零的指令才会溢出,导至单片机复位。

当然我们需要合理的设置看门狗(Watch Dog Timer)溢出时间,也要合理的放置看门狗清零指令。才可以让看门狗(Watch Dog Timer)起作用。