STM32單片機兩種看門狗的區別和配置方法


原標題:STM32單片機兩種看門狗的區別和配置方法
STM32單片機具有兩種看門狗功能:獨立看門狗(Independent Watchdog,IWDG)和窗口看門狗(Window Watchdog,WWDG)。它們各自具有不同的特點和配置方法。
一、獨立看門狗(IWDG)
特點和原理
獨立看門狗由一個專用的低速時鐘(LSI)驅動,這個時鐘在主時鐘故障時仍然保持工作。
它具有一個12位的遞減計數器,當計數器的值從某個預設值一直減到0時,系統會產生一個復位信號。
獨立看門狗適用于對時間精度要求較低,但需要看門狗在主程序之外完全獨立工作的場合。
配置方法
使能預分頻寄存器(IWDG_PR)和重裝載寄存器(IWDG_RLR)可寫。
設置預分頻器值,以控制計數器的時鐘頻率。
設置重裝載寄存器值,該值決定了獨立看門狗的溢出時間。
啟用獨立看門狗。
二、窗口看門狗(WWDG)
特點和原理
窗口看門狗的喂狗時間有一個上下限范圍,可以通過設置相關寄存器來配置。
它具有一個7位的遞減計數器,當計數器的值減到固定的下限值(0x40)時,如果還沒有喂狗,就會產生復位。同時,如果計數器的值在上限值之外時喂狗,也會產生復位。
窗口看門狗的時鐘來自于PCLK1,其頻率經過配置后可以確定計數器的定時時間范圍。
配置方法
使能看門狗時鐘。
設置預分頻器值,以控制計數器的時鐘頻率。
設置窗口值,即上限值。
啟用窗口看門狗,并設置計數器的初始值。
配置中斷(如果需要),以便在計數器達到下限值時產生中斷,提醒喂狗。
三、獨立看門狗與窗口看門狗的區別
時鐘來源:獨立看門狗由專用的低速時鐘(LSI)驅動,而窗口看門狗的時鐘來自于PCLK1。
計數器位數:獨立看門狗具有12位的遞減計數器,而窗口看門狗具有7位的遞減計數器。
喂狗時間:獨立看門狗只有下限值,只要在計數器減到0之前重新裝載計數器的值就不會產生復位。而窗口看門狗的喂狗時間有一個上下限范圍,過早或過晚喂狗都會產生復位。
中斷功能:獨立看門狗沒有中斷功能,而窗口看門狗可以配置中斷,在計數器達到下限值時產生中斷提醒喂狗。
綜上所述,STM32單片機的兩種看門狗功能各自具有不同的特點和配置方法。在實際應用中,需要根據具體的需求選擇合適的看門狗類型,并進行相應的配置。
責任編輯:David
【免責聲明】
1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學習使用,不涉及商業目的。
3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。
4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。
拍明芯城擁有對此聲明的最終解釋權。