STM32 基础系列教程 19 – WWDG
前言
學習stm32 窗口看門狗(WWDG)接口使用,學會用STM32內部窗口看門狗(WWDG)接口實現程序異常時自復位功能。WWDG最適合那些要求看門狗在精確計時窗口起作用的應用程序。窗口看門狗由從APB1時鐘分頻后得到的時鐘驅動(PCLK1除以4096 = 36M/4096 = 8.789K),通過可配置的時間窗口來檢測應用程序非正常的過遲或過早的操作。
?
窗口看門狗通常被用來監測,由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。除非遞減計數器的值在T6位變成0前被刷新,看門狗電路在達到預置的時間周期時,會產生一個MCU復位。在遞減計數器達到窗口寄存器數值之前,如果7位的遞減計數器數值(在控制寄存器中)被刷新, 那么也將產生一個MCU復位。這表明遞減計數器需要在一個有限的時間窗口中被刷新。
WWDG主要特性
● 可編程的自由運行遞減計數器
● 條件復位
─ 當遞減計數器的值小于0x40, (若看門狗被啟動)則產生復位。
─ 當遞減計數器在窗口外被重新裝載, (若看門狗被啟動)則產生復位。見0。
● 如果啟動了看門狗并且允許中斷,當遞減計數器等于0x40時產生早期喚醒中斷(EWI),它可以被用于重裝載計數器以避免WWDG復位。
有關更多的WWDG的信息可參考STM32具體芯片的數據手冊!
?
示例詳解
基于硬件平臺: STM32F10C8T6最小系統板, MCU 的型號是?STM32F103c8t6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。
?
?
本示例所用的最小系統板原理圖:
?
?
?
圖中所示配置方式是窗口看門狗的特殊應用,相當于IWDG,其刷新操作也可以任意進行,當,但有點不是原來WWDG的味道了,所以我們改用下的面的配置方式來操作:
?
和帶喂狗操作
?
?
加上喂狗操作后,程序能按原先預設的邏輯長時間運行,PA0腳看有脈沖輸出,PA1上的波形變得更加有序和統一:
對于窗口看門狗,如果我們在非窗口時間內喂狗操,對應的代碼如下:
對應的波形如下(程序運行起來不斷復位):
?
OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,每天都會有技術干貨推出!!
?
文中資料下載,在公眾號里給十三發消息:
下載|STM32基礎系列教程19
?
關注十三公眾號
?
總結
以上是生活随笔為你收集整理的STM32 基础系列教程 19 – WWDG的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 基础系列教程 18 – IW
- 下一篇: STM32 基础系列教程 20 - RT