STM32單片機中有兩只看門狗,分別是獨立看門狗和窗口看門狗。這兩只看門狗有什么區(qū)別,今天來看一下。
1. 時鐘源的區(qū)別
獨立看門狗使用的是內部低速時鐘,其頻率為40kHz,但是這個40KHz不是準確的,其大致的范圍是(30-60)KHz。該時鐘與外設時鐘無關,所以不受系統(tǒng)晶振影響。
窗口看門狗使用的是PCLK1的時鐘,該時鐘與晶振相關。
2. 喂狗時間不同
獨立看門狗喂狗時只要下限大于0就可以,上限是0XFFF。
而窗口看門狗必須在一個區(qū)域內喂狗才可以,上限是0x7F,下限是0X40,
3. 計數器不同
獨立看門狗的計數器是12位遞減的,即最大值是0XFFF;
窗口看門狗的計數器是7位遞減的,即最大值是0X7F;
4. 產生結果不同
獨立看門狗時,如果超時不喂狗,則直接產生復位,程序從頭執(zhí)行;
獨立看門狗會在計數器到達0X40時產生中斷,在0X3F時產生復位,所以可以把獨立看門狗看成是一種中斷。
使用用途舉例
獨立看門狗可以用來防止程序跑飛,在程序中開啟看門狗,定時喂狗,尤其在通訊中使用廣泛,當邏輯處理不當,使程序一直處于發(fā)送或接收狀態(tài)不退出時,這時獨立看門狗可以使程序復位,程序從頭執(zhí)行。
窗口看門狗可以產生中斷,利用這一特點可以用來進行數據保存,當產生窗口看門狗中斷時,可以用來保存數據。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!