STM32F10xxx內(nèi)置兩個看門狗分別為獨立看門狗(IWDG)和窗口看門狗(WWDG)。
IWDG最適合應(yīng)用于那些需要看門狗作為一個在主程序之外,能夠完全獨立工作,并且對時間精度要求較低的場合。
WWDG最適合那些要求看門狗在精確計時窗口起作用的應(yīng)用程序。
獨立看門狗(IWDG)其實就是我們單片機經(jīng)常見的那種.
在鍵寄存器(IWDG_KR)中寫入0xCCCC,開始啟用獨立看門狗;此時計數(shù)器開始從其復(fù)位值0xFFF遞減計數(shù)。當(dāng)計數(shù)器計數(shù)到末尾0x000時,會產(chǎn)生一個復(fù)位信號(IWDG_RESET)。
無論何時,只要鍵寄存器IWDG_KR中被寫入0xAAAA, IWDG_RLR中的值就會被重新加載到計數(shù)器中從而避免產(chǎn)生看門狗復(fù)位 。
從上面的說明文字可以看出它超時的時間是固定的,就是0xFFF遞減計數(shù)到0x000時就會復(fù)位,在次過程中寫入0xAAAA就可以避免產(chǎn)生看門狗復(fù)位.
窗口看門狗(WWDG)由從APB1時鐘分頻后得到的時鐘驅(qū)動,通過可配置的時間窗口來檢測應(yīng)用程序非正常的過遲或過早的操作。上面說的重點字就在于"過遲或過早",講到這里或許你會看到與上面的區(qū)別了.沒關(guān)系看不出我繼續(xù)解釋.
窗口看門狗(WWDG)復(fù)位條件有;1.當(dāng)遞減計數(shù)器的值小于0x40,(若看門狗被啟動)則產(chǎn)生復(fù)位。2.當(dāng)遞減計數(shù)器在窗口外被重新裝載,(若看門狗被啟動)則產(chǎn)生復(fù)位。那我來解釋第一個條件,窗口看門狗(WWDG)有個控制寄存器(WWDG_CR)里面可以設(shè)置計數(shù)器值在0xFF和0xC0之間.當(dāng)計數(shù)器值遞減計數(shù)到小于0x40則產(chǎn)生復(fù)位.第二條件說明:窗口看門狗(WWDG)有個配置寄存器(WWDG_CFR)里面也可以設(shè)置一個與遞減計數(shù)器進(jìn)行比較用的窗口值,這值的作用是:如果軟件在計數(shù)器值大于窗口寄存器中的數(shù)值時重新裝載計數(shù)器,將產(chǎn)生一個復(fù)位。
綜合以上兩點就成了窗口看門狗的"過遲或過早"的特點.
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。