看门狗是用来防止万一单片机程序出错造成重大损失的。
防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。
正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。
一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。
一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。
通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,你喂狗的操作也要更频繁。