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