看門狗有什么用?看門狗原理
看門狗,又叫watchdog timer,從本質(zhì)上來說就是一個(gè)定時(shí)器電路,一般有一個(gè)輸入和一個(gè)輸出,其中的輸入叫做喂狗,輸出一般連接到另外一個(gè)部分的復(fù)位端,另外一個(gè)部分就是所要處理的部分,暫且稱之為MCU。
在MCU正常工作的時(shí)候,每隔一段時(shí)間輸出一個(gè)信號到喂狗端,給看門狗電路清零,如果在超過規(guī)定的時(shí)間不喂狗,WDT定時(shí)超時(shí),就會回給一個(gè)復(fù)位信號到達(dá)MCU,使MCU復(fù)位,防止MCU死機(jī)??偟膩碚f,看門狗電路的作用就是防止程序發(fā)生死循環(huán),或者說程序跑飛。
WDT的基本工作原理如下:在整個(gè)系統(tǒng)運(yùn)行以后就啟動了看門狗的計(jì)數(shù)器,此時(shí)看門狗就開始自動計(jì)時(shí),如果到達(dá)了一定的時(shí)間還不去給它清零,看門狗計(jì)數(shù)器就會溢出從而引起看門狗中斷,造成系統(tǒng)的復(fù)位。
硬件看門狗就是利用了一個(gè)定時(shí)電路,來監(jiān)控主程序的運(yùn)行。在主程序的運(yùn)行中,我們要在定時(shí)時(shí)間到達(dá)之前對定時(shí)器進(jìn)行復(fù)位。
看門狗的作用就是防止程序無限制的運(yùn)行,造成死循環(huán)。它可以用在接收和發(fā)送數(shù)據(jù)時(shí)對接受和發(fā)送超時(shí)的處理,起到保護(hù)數(shù)據(jù),保護(hù)電路的作用。
擴(kuò)展閱讀:看門狗--喂狗