tft每日頭條

 > 寵物

 > 看門狗循環測試

看門狗循環測試

寵物 更新时间:2024-08-01 11:07:10

4.2看門狗_窗口看門狗

本文将介紹窗口看門狗,并通過按鍵模拟觸發程序死機、進而

觸發提前喚醒中斷、并複位程序。

①窗口看門狗介紹

②STM32CUBEMX配置工程文件

③代碼實現

①窗口看門狗介紹

窗口看門狗用來監測由于不可預知的因素或者不可預知的邏輯條件導緻程序脫離正常運行序列的軟件故障。

窗口看門狗介紹之工作原理框圖:

看門狗循環測試(窗口看門狗及實例)1

窗口看門狗介紹之配置寄存器:

預分頻器用于将RCC傳來的PCLK1時鐘進行分頻,配置寄存器中第7位第8位用來存放預分頻器的預分頻值,第0位至第6位用于存放窗口看門狗的窗口值,當計數器的值大于窗口值時喂狗會觸發複位、即隻有計數器的值在0x40與窗口值之間時喂狗不會觸發程序複位;所以窗口值需要大于0x40、小于0x7f,否則窗口沒有意義。

窗口看門狗介紹之控制寄存器:

寄存器第0至第6位用于存放計數器的計數值,計數值最大0x7f、

當計數值降低到0x40時會觸發提前喚醒中斷,在提前喚醒中斷

裡可以保存重要的數據或者報警,當寄存器第6位由1變0時會對程序進行複位

②STM32CUBEMX配置工程文件

Step1:使能USART3用于調試

看門狗循環測試(窗口看門狗及實例)2

Step2:使能RCC時鐘、配置時鐘樹

看門狗循環測試(窗口看門狗及實例)3

看門狗循環測試(窗口看門狗及實例)4

Step3:配置按鍵PA0為外部輸入中斷、設置中斷優先級

看門狗循環測試(窗口看門狗及實例)5

看門狗循環測試(窗口看門狗及實例)6

Step4:使能窗口看門狗、配置分頻數、計數值、窗口值,設置中斷等級

看門狗循環測試(窗口看門狗及實例)7

計數值減小5花費1us,窗口值為95、計數值為127

看門狗循環測試(窗口看門狗及實例)8

Step5:配置GPIO控制led,用于提前喚醒中斷裡報警亮燈

看門狗循環測試(窗口看門狗及實例)9

Step6:生成工程

看門狗循環測試(窗口看門狗及實例)10

看門狗循環測試(窗口看門狗及實例)11

看門狗循環測試(窗口看門狗及實例)12

③代碼實現

Step1:輸出重定向,記得添加頭文件

看門狗循環測試(窗口看門狗及實例)13

While後少了一個分号哈!!!

Step2:在窗口值以下喂狗

看門狗循環測試(窗口看門狗及實例)14

Step3:重定義提前喚醒函數

看門狗循環測試(窗口看門狗及實例)15

Step4:重定義外部中斷函數

看門狗循環測試(窗口看門狗及實例)16

step5:編譯、日志

看門狗循環測試(窗口看門狗及實例)17

更多源碼可郵箱發送、可留言郵箱,歡迎相互交流;謝謝!!!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关寵物资讯推荐

热门寵物资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved