前言
今天總結(jié)“STM32F103 WDG看門(mén)狗”,STM32F1有兩個(gè)看門(mén)狗,IWDG獨(dú)立看門(mén)狗和WWDG窗口看門(mén)狗,今天將兩個(gè)看門(mén)狗一并總結(jié)了。
總結(jié)一下二者的區(qū)別:
1)、IWDG使用內(nèi)部低速時(shí)鐘LSI,WWDG使用系統(tǒng)時(shí)鐘APB1ENR
2)、IWDG沒(méi)有中斷,WWDG有中斷
3)、IWDG是12位遞減的。WWDG是7位遞減的
4)、IWDG只有下限,WWDG有下限和上限
5)、IWDG最適合應(yīng)用于那些需要看門(mén)狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。 WWDG最適合那些要求看門(mén)狗在精確計(jì)時(shí)窗口起作用的應(yīng)用程序。
看門(mén)狗在長(zhǎng)期工作的產(chǎn)品中用到比較多,作用很簡(jiǎn)單,防止死機(jī)。看門(mén)狗的功能也可用于定時(shí)計(jì)數(shù)等。
每天總結(jié)的不僅僅是基礎(chǔ),而是重點(diǎn),不起眼的重點(diǎn),容易被人忽視的重點(diǎn)。關(guān)注微信公眾號(hào)“EmbeddDeveloper”還有更多精彩等著你。
提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒(méi)問(wèn)題才上傳至360云盤(pán)。
今天的軟件工程下載地址(360云盤(pán)):
IWDG:https://yunpan.cn/cSQd68LfbPkIH訪問(wèn)密碼 d751
WWDG:https://yunpan.cn/cSQdk5CLVWVwW訪問(wèn)密碼 fe96
STM32F10x的資料可以在我360云盤(pán)下載:
https://yunpan.cn/crBUdUGdYKam2訪問(wèn)密碼 ca90
內(nèi)容講解
工程概要說(shuō)明: IWDG工程基于“EXIT中斷”工程修改而來(lái),因?yàn)槭褂玫桨存I來(lái)喂狗。系統(tǒng)復(fù)位,快速閃爍兩次LED,接下來(lái)間隔1秒串口打印一個(gè)計(jì)數(shù)值(從0 - 8),在8秒的時(shí)間內(nèi)按鍵喂狗,計(jì)數(shù)值會(huì)歸零;如果不喂狗則會(huì)復(fù)位。
WWDG工程基于“TIM定時(shí)”而來(lái),因?yàn)槭褂昧硕〞r(shí)的功能。我提供的工程喂狗的時(shí)間是57ms(剛好最大值),間隔57ms喂狗一次,不會(huì)復(fù)位(LED快速變化, 快速打印WWDG...); 如果大于57ms(自己可以修改一下)未喂狗則會(huì)復(fù)位(LED慢速變化, 不斷打印Reset...)。
提供的工程簡(jiǎn)單明了,詳細(xì)中文注釋?zhuān)奖阕约悍奖愦蠹摇?/p>
關(guān)于“STM32F103 WDG看門(mén)狗”我把重要的幾點(diǎn)在下面分別講述:
一、IWDG的配置
該函數(shù)位于IWDG工程的main.c文件下面;
提供的框圖為見(jiàn)資料。
我想大部分關(guān)心的是這個(gè)8秒的喂狗時(shí)間是怎樣計(jì)算出來(lái)的,其實(shí),看了程序的注釋和框圖大概就應(yīng)該能明白了。40K分頻256之后就只能在1秒計(jì)數(shù)156次,
而要計(jì)滿(mǎn)1250(40000/32)就需要8秒。不明白的朋友請(qǐng)自己分析一下哦。
二、WWDG的配置
該函數(shù)位于WWDG工程的main.c文件下面;
提供的框圖為見(jiàn)資料。
這里也主要講一下最大喂狗時(shí)間57ms.分頻之后只能在1秒計(jì)數(shù)1099次,要計(jì)滿(mǎn)63個(gè)大概就需要57ms,這個(gè)值就是最大值。
這個(gè)工程需要自己修改這個(gè)時(shí)間來(lái)測(cè)試,建議都自己親手修改代碼測(cè)試一下。
三、WWDG主函數(shù)
該函數(shù)位于WWDG工程的main.c文件下面;
通過(guò)串口打印的信息就可以清楚的知道系統(tǒng)復(fù)位了沒(méi)有。
親手修改來(lái)大于57ms的時(shí)間試試就知道。
四、今天的重點(diǎn)
A.WWDG計(jì)數(shù)器的范圍為:0x40 --- 0x7F
B.當(dāng)微控制器進(jìn)入調(diào)試模式時(shí)(Cortex-M3核心停止),根據(jù)調(diào)試模塊中的DBG_WWDG_STOP 配置位的狀態(tài), WWDG的計(jì)數(shù)器能夠繼續(xù)工作或停止。
C.沒(méi)有兩個(gè)寄存器,編程時(shí)請(qǐng)細(xì)看寄存器
說(shuō)明
今天提供的軟件工程基于STM32F103大容量芯片,其實(shí)只要適當(dāng)修改工程的部分配置,STM32F1的芯片都適用。
-
看門(mén)狗
+關(guān)注
關(guān)注
10文章
560瀏覽量
70789 -
STM32F10
+關(guān)注
關(guān)注
0文章
45瀏覽量
15624 -
WWDG
+關(guān)注
關(guān)注
0文章
19瀏覽量
5508
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論