STM32獨(dú)立看門狗和窗口看門狗應(yīng)用的區(qū)別
1.關(guān)于看門狗的解釋不再說(shuō)明,窗口看門狗簡(jiǎn)而言之即只能看某個(gè)窗口期即某段時(shí)間內(nèi)才能夠喂狗。32的獨(dú)立看門狗是沒(méi)有中斷的,而窗口看門狗可根據(jù)需要配置中斷
2.關(guān)于獨(dú)立看門狗和窗口看門狗的應(yīng)用,手冊(cè)p316 即17.1節(jié)講的非常清楚。首先獨(dú)立看門狗和窗口看門狗都可用來(lái)監(jiān)視軟件程序是否正常運(yùn)行,而具體而言,因?yàn)楠?dú)立看門狗獨(dú)立于系統(tǒng)時(shí)鐘單獨(dú)運(yùn)行,因此其可用來(lái)監(jiān)視是否發(fā)生了硬件錯(cuò)誤,比如說(shuō)系統(tǒng)時(shí)鐘故障,看門狗仍然能夠起到重啟的作用,但是獨(dú)立看門狗的計(jì)時(shí)精度比較差,更多的應(yīng)用在獨(dú)立系統(tǒng)運(yùn)行之外的對(duì)計(jì)時(shí)要求低的地方。而窗口看門狗是由系統(tǒng)時(shí)鐘提供的,因此其計(jì)時(shí)也會(huì)很準(zhǔn)確,當(dāng)然其也就只能用來(lái)檢測(cè)軟件故障,比如硬件故障系統(tǒng)時(shí)鐘壞了,自身也就不動(dòng)了,也就沒(méi)有檢測(cè)硬件故障的作用,因此窗口看門狗是用在檢測(cè)應(yīng)用軟件是否準(zhǔn)確運(yùn)行時(shí)使用的。
當(dāng)然我們用系統(tǒng)情況下其實(shí)完全可以不使用32提供的看門狗,我們自己某個(gè)任務(wù)的一個(gè)變量即實(shí)現(xiàn)看門狗的功能了。
3.另外注意,看門狗只是解決軟件異常,獨(dú)立看門狗稱為硬件看門狗是其是硬件操作復(fù)位,并且是自己獨(dú)立于系統(tǒng)主頻的時(shí)鐘,但是如果硬件都出問(wèn)題了比如溫度過(guò)高,獨(dú)立看門狗自身時(shí)鐘都無(wú)法運(yùn)行了,也就起不到看門狗的作用了
4.有硬件看門狗時(shí)需注意對(duì)硬件仿真的影響:
由于添加硬件看門狗,我們硬件仿真調(diào)試期間很容易(時(shí)間大于看門狗喂狗時(shí)間)有系統(tǒng)復(fù)位,這必然導(dǎo)致程序與仿真不同步問(wèn)題,因此硬件仿真最好提前關(guān)閉看門狗。