本文將介紹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文章
560瀏覽量
70790 -
STM32
+關注
關注
2270文章
10895瀏覽量
355750 -
計數器
+關注
關注
32文章
2256瀏覽量
94478 -
stm32cubemx
+關注
關注
5文章
283瀏覽量
14791 -
獨立看門狗
+關注
關注
0文章
24瀏覽量
3827
發布評論請先 登錄
相關推薦
評論