stm32看門狗部分內容當中較難理解的是窗口看門狗,其中窗口值設置以及如何引發復位更是很難搞懂,因此從根本上分析一下窗口看門狗的工作原理,而與其有關的中斷則略過。
stm32有兩個看門狗,獨立看門狗和窗口看門狗,其實兩者的功能是類似的,只是喂狗的限制時間不同。獨立看門狗有自己獨立的40Khz時鐘,不存在使能問題;而窗口看門狗使用的是PCLK1時鐘,需要先使能時鐘。以下是關于看門狗的具體說明:
①、獨立看門狗是限制喂狗時間在0-x內,x由你的相關寄存器決定。喂狗的時間不能過晚。
②、窗口看門狗,所以稱之為窗口就是因為其喂狗時間是一個有上下限的范圍內,你可以通過設定相關寄存器,設定其上限時間和下限時間。喂狗的時間不能過早也不能過晚。
IWDG(Independent watchdog)獨立看門狗,可以用來檢測并解決由于軟件錯誤導致的故障,當計數器到達給定的超時值時,會觸發一個中斷或產生系統復位。獨立看門狗的時鐘是它專用的低速時鐘(LSI),所以它能保持工作及時主時鐘出現問題。窗口看門狗的時鐘是有APB1時鐘分頻得到得到,通過可配置的時間窗口來檢測應用程序非正常的過遲或過早的操作。
IWDG 最適合應用于那些需要看門狗作為一個在主程序之外,能夠完全獨立工作,并且對時間精度要求較低的場合。 WWDG 最適合那些要求看門狗在精確計時窗口起作用的應用程序。
獨立看門狗的特點:①自由運行遞減計數器;②時鐘來自通過獨立的RC振蕩器;③當向下計數器值達到0時,會產生復位。
本文整合自 程序員大本營、eefocus
責任編輯:fqj
-
STM32
+關注
關注
2270文章
10921瀏覽量
357000
發布評論請先 登錄
相關推薦
評論