看門狗是用來防止萬一單片機程序出錯造成重大損失的。
防錯的原理很簡單,它在硬件上就是一個定時器,當它溢出的時候就會讓單片機強制復(fù)位使程序重新開始執(zhí)行。
正常的情況下是不能讓它溢出的,所以在程序上每隔一段時間要給他置一次值(俗稱喂狗),只要程序中正常給它喂他就不會溢出。
一旦程序跑飛了,有干擾或者進入死循環(huán)之類的情況時,不能正常執(zhí)行程序了,那么就永遠執(zhí)行不到喂狗的指令了,但此時定時器是硬件控制的,仍然會走,所以溢出了,單片機就復(fù)位了。
一般安全性要求比較高的,系統(tǒng)跑飛了會造成重大事故的都會加一個“狗”保安全。
通常,看門狗的溢出時間越短越靈敏,跑飛之后復(fù)位的時間越短,也就越安全,但是,你喂狗的操作也要更頻繁。