一、Watchdog介紹
單片機(jī)的watchdog一般都有兩個(gè),一個(gè)是獨(dú)立看門狗IWDG,一個(gè)是窗口看門狗WWDG。
以STM32為例,STM32的獨(dú)立看門狗是一個(gè)12位的遞減計(jì)數(shù)器,當(dāng)計(jì)數(shù)器的值從某個(gè)值一直減到0的時(shí)候,系統(tǒng)就會(huì)產(chǎn)生一個(gè)復(fù)位信號(hào),即IWDG_RESET。看門狗功能由VDD電壓域供電,在停止模式和待機(jī)模式下仍能工作。
關(guān)于STM32的獨(dú)立看門狗的框圖如下所示:

二、Watchdog的工作原理
為了防止程序在運(yùn)行過程中跑飛,加上一個(gè)看門狗實(shí)時(shí)監(jiān)控程序,如果在規(guī)定的時(shí)間內(nèi)沒有喂狗,則狗叫會(huì)是的單片機(jī)復(fù)位。
如果在規(guī)定的時(shí)間內(nèi),刷新計(jì)數(shù)器的值,則單片機(jī)就不會(huì)產(chǎn)生復(fù)位,即我們所說的喂狗。
STM32的看門狗超時(shí)時(shí)間(40KHz的輸入時(shí)鐘(LSI))如下表所示:

三、STM32的IWDG配置
void IWDG_Config(void) { IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable ); IWDG_SetPrescaler(IWDG_Prescaler_64); IWDG_SetReload(500); IWDG_ReloadCounter(); IWDG_Enable(); }
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670439 -
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373474 -
Watchdog
+關(guān)注
關(guān)注
0文章
12瀏覽量
9731
原文標(biāo)題:?jiǎn)纹瑱C(jī)之Watchdog
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
MCU單片機(jī),常用32位單片機(jī),低功耗單片機(jī)MM32L系列
輝芒微單片機(jī):中低端智能電子產(chǎn)品市場(chǎng)主控芯片的實(shí)力之選!
單片機(jī)用什么封裝
什么單片機(jī)比較耐用
單片機(jī)采用什么電流控制
怎么測(cè)單片機(jī)系統(tǒng)頻率
單片機(jī)怎么驅(qū)動(dòng)電機(jī)?
單片機(jī)怎么燒程序
單片機(jī)直流電機(jī)調(diào)速原理
瑞薩RA單片機(jī)在e2 studio環(huán)境下printf編譯出錯(cuò)的問題解析
單片機(jī)科普總結(jié),建議收藏!
基于單片機(jī)下Watchdog之淺析
評(píng)論