本文將介紹STM32的看門狗中的獨立看門狗,并通過實例來喂狗、體驗喂狗與不喂狗的區別。
①STM32看門狗介紹之獨立看門狗
②使用STM32CUBEMX來配置工程文件
③代碼實現,按鍵按下喂狗、按鍵不按下不喂狗程序復位
①STM32看門狗介紹之獨立看門狗
看門狗定時器本質上是一個計數器、給計數器一個數值,在程序
運行后計數器的值開始遞減,當計數器的值減到0是會將程序復位,若在減到0之前給計數器更新一下值“喂狗”則從最新的值開始遞減;
用途:
1、這樣做的好處就是程序跑飛、死機時,通過復位的方式使得程序又正常運行;
2、用于將系統從休眠或者空閑模式喚醒。
看門狗的種類:
獨立看門狗IWDG
特點:專用時鐘LSI、低功耗模式仍可運行、對定時的控制比較松;
窗口看門狗
特點:總線時鐘APB1、要求主應用程序在規定時間喂狗、對定時控制比較嚴
獨立看門狗工作原理框圖:
獨立看門狗的時鐘是內部低速時鐘、是一個RC時鐘,即使主時鐘失效也不影響獨立看門狗的運行,該時鐘是32KHz、但由于是RC時鐘其頻率范圍在15-47khz波動,所以有時定時是有一點誤差的。
預分配寄存器:寄存器中的數值對應相應的分頻數、最大支持
256分頻;
狀態寄存器:寄存器中的數值對應預分頻器寄存器和重載寄存器
中的值的更新狀況,若在更新中、則暫時不能更改這兩個寄存器中的值
重載寄存器:寄存器中裝著計數器的重裝載值
關鍵字寄存器:負責重裝載值的裝載、預分頻器和重載寄存器是否可寫,控制IWDG的啟動;
需要注意的是計數器是12位、即喂狗最大間隔時間是有限制的;
②使用STM32CUBEMX來配置工程文件
Step1:使能USART3,用于調試
Step2:使能獨立看門狗、并進行配置32分頻、3秒內喂狗否則
復位
Step3:PA0設置為輸入功能、PA0接的是按鍵
Step4:生成工程文件
③代碼實現,按鍵按下喂狗、按鍵不按下不喂狗程序復位
Step1:輸出重定向,用于調試
Step2:按鍵按下喂狗
Step3:效果
-
看門狗
+關注
關注
10文章
566瀏覽量
70956 -
STM32
+關注
關注
2273文章
10926瀏覽量
357770 -
計數器
+關注
關注
32文章
2276瀏覽量
95050 -
stm32cubemx
+關注
關注
5文章
284瀏覽量
15049 -
獨立看門狗
+關注
關注
0文章
24瀏覽量
3908
發布評論請先 登錄
相關推薦
獨立看門狗(IWDG)的基礎知識
![<b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>(IWDG)的基礎知識](https://file.elecfans.com/web2/M00/71/DF/pYYBAGNPvWOAcWdNAAEJcO3mNEI108.png)
STM32中的獨立看門狗和窗口看門狗是什么
![<b class='flag-5'>STM32</b>中的<b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么](https://file.elecfans.com/web2/M00/8B/8B/poYBAGPXZXSAK_HNAADYSGGyteo518.jpg)
stm32看門狗時間計算 獨立看門狗和窗口看門狗的特性是什么
STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG)
![<b class='flag-5'>STM32</b><b class='flag-5'>看門狗</b>配置(<b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)](https://file1.elecfans.com//web2/M00/A6/E1/wKgZomUMQQeANJA7AAAvqvkO9zw240.png)
STM32中的獨立看門狗和窗口看門狗
STM32中的獨立看門狗和窗口看門狗
![<b class='flag-5'>STM32</b>中的<b class='flag-5'>獨立</b><b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>](https://file.elecfans.com/web2/M00/8B/8B/poYBAGPXZXSAK_HNAADYSGGyteo518.jpg)
評論