日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32 独立看门狗学习

發(fā)布時(shí)間:2025/3/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32 独立看门狗学习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

STM32F10xxx內(nèi)置兩個(gè)看門狗,提供了更高的安全性、時(shí)間的精確性和使用的靈活性。兩個(gè)看門狗設(shè)備(獨(dú)立看門狗和窗口看門狗)可用來檢測(cè)和解決由軟件錯(cuò)誤引起的故障。

獨(dú)立看門狗(IWDG)由專用的低速時(shí)鐘(LSI)驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障它也仍然有效。IWDG最適合應(yīng)用于那些需要看門狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。

我們的實(shí)驗(yàn)這樣設(shè)計(jì),主函數(shù)開始的時(shí)候,向串口輸出“Hello World”,然后啟動(dòng)看門口(溢出時(shí)間設(shè)定為3秒鐘)。在按下按鍵的時(shí)候喂狗,同時(shí)串口打印“喂狗”。

預(yù)期結(jié)果:如果不按按鍵,則約每三秒重啟一次,現(xiàn)象是串口隔三秒就會(huì)打印“Hello World”;如果在啟動(dòng)后的3秒內(nèi)按鍵,則顯示“喂狗”,再在3秒內(nèi)按鍵……這樣保證不重啟。

看一下代碼吧。

獨(dú)立看門狗的初始化:

void IWDG_Init(u8 prer,u16 rlr) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能對(duì)寄存器 IWDG_PR 和 IWDG_RLR的寫操作IWDG_SetPrescaler(prer); //設(shè)置預(yù)分頻值IWDG_SetReload(rlr); //設(shè)置重裝載值IWDG_ReloadCounter(); //按照重裝載值裝載IWDG計(jì)數(shù)器IWDG_Enable(); //看門狗使能 }這個(gè)函數(shù)有兩個(gè)參數(shù):prer 和 rlr


PRER 就是表格中的PR[2:0],取值范圍是0-7;

RLR就是表格中的RL[11:0],取值范圍是0x000-0xFFF;

注意:這里的時(shí)間是粗略計(jì)算的,不是那么準(zhǔn)確。

溢出時(shí)間 =?2^PR*(RL+1)/10 ?

單位:ms?

如果我們定時(shí)3秒鐘,那么應(yīng)該是:

IWDG_Init(4,1874); ?// 2^4 * (1874+1) / 10 (ms)= 16*1875/10 (ms)= 3000(ms) = 3s

主函數(shù)代碼:

int main(void) { delay_init(); //延時(shí)函數(shù)初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(9600); //串口初始化printf("Hello World ! \r\n");IWDG_Init(4,1874); // 看門狗初始化并使能key_init(); //按鍵IO初始化EXTIX_Init(); // 按鍵中斷初始化while(1){;} }
喂狗的操作是:

void IWDG_Feed(void) { IWDG_ReloadCounter();//reload }
我們?cè)诎存I中斷處理中喂狗:

void EXTI0_IRQHandler(void) {delay_ms(10); //消除抖動(dòng)if(KEY3==1) //WK_UP{ printf("喂狗......\r\n");IWDG_Feed();}EXTI_ClearITPendingBit(EXTI_Line0); //清除中斷標(biāo)志位 }
實(shí)驗(yàn)結(jié)果如圖。

如果不喂狗,那么大約3秒鐘就會(huì)重啟。


如果喂狗,效果如下。




總結(jié)

以上是生活随笔為你收集整理的stm32 独立看门狗学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。