輸入:喂狗
輸出:到MCU的RST端
MCU正常工作時,每隔一段時間輸出信號給喂狗端,給WDT清零;
超出規定時間不喂狗,WDT定時超過,看門狗輸出一個復位信號到MCU。
MRn: 手動復位,輸入低電平時導致管腳輸出復位信號
PFI |
電源失效輸入:接內部比較器的同相端,比較器反相端接內部1.25V參考源 |
PFOn |
電源失效輸出:來自內部比較器的輸出端 |
WDI |
看門狗輸入: 1. 懸空時禁止看門狗功能; 2. 固定接HIGH或LOW電平,規定時間後看門狗定時器(watchdog timer)溢出導致管腳輸出低電平 3. 反轉輸入狀態會清除看門狗定時器 |
RESTn :復位信號輸出,低電平有效 |
|
WDOn: 看門狗輸出,內部看門狗定時器溢出時輸出低電平 |
|
其中電源失效檢測功能未使用,因此PFI管腳直接連到GND或者Vcc。
工作原理:
1) 如何使MCU復位
I/O固定HIGH或LOW電平不變,則規定時間(1.6s)後,就會導致輸出低電平,和相連,輸入低電平後輸出低電平,看門狗的管腳與MCU的管腳相連,導致MCU復位
2) 正常工作情況下
必須在MCU程序內及時反轉I/O的狀態,也就是“喂狗”。
如何“喂狗”?
一般,編寫一個能使WDI狀態反轉的喂狗函數,然後把函數調用插入到每個可能導致長時間執行的程序段內,比如while(1)、for(;;)之類的無條件循環語句。