找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1860|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32看門狗操作

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:365205 發(fā)表于 2018-7-4 21:50 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式

窗口看門狗( WWDG)通常被用來監(jiān)測由外部干擾或不可預(yù)見的邏輯條件造成的應(yīng)用程序背離正常的運(yùn)行序列而產(chǎn)生的軟件故障。

簡單來說,和IWDG的區(qū)別就是IWDG要靠手動去喂狗,而WWDG有內(nèi)置中斷,所以可以利用設(shè)置中斷服務(wù)函數(shù)去喂狗

首先還是設(shè)置WWDG (記得往工程里面添加頭文件)大致設(shè)置步驟如下:

1)使能 WWDG 時鐘(系統(tǒng)內(nèi)部時鐘)

2)設(shè)置窗口值和分頻數(shù)

3)開啟 WWDG 中斷并分組

4) 設(shè)置計(jì)數(shù)器初始值并使能看門狗

5) 編寫中斷服務(wù)函數(shù)

  • #include "led.h"



  • #include "wwdg.h"



  • //保存 WWDG 計(jì)數(shù)器的設(shè)置值,默認(rèn)為最大.



  • u8 WWDG_CNT=0x7f;



  • void WWDG_Init(u8 tr,u8 wr,u32 fprer)



  • {



  •         RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);



  •         WWDG_SetPrescaler(fprer);////設(shè)置 IWDG 預(yù)分頻值



  •         WWDG_SetWindowValue(wr);//設(shè)置窗口值



  •         WWDG_Enable(tr); //使能看門狗 , 設(shè)置 counter .



  •         WWDG_ClearFlag();



  •         WWDG_NVIC_Init();//初始化窗口看門狗 NVIC



  •         WWDG_EnableIT(); //開啟窗口看門狗中斷



  • }



  • void WWDG_NVIC_Init(void)



  • {



  •         NVIC_InitTypeDef NVIC_ist;



  •         NVIC_ist.NVIC_IRQChannel=WWDG_IRQn;



  •         NVIC_ist.NVIC_IRQChannelPreemptionPriority=2;



  •         NVIC_ist.NVIC_IRQChannelSubPriority=3;



  •         NVIC_ist.NVIC_IRQChannelCmd=ENABLE;



  •         NVIC_Init(&NVIC_ist);



  • }



  • void WWDG_IRQHandler(void)



  • {



  •         WWDG_SetCounter(0x7f);//喂狗



  •         WWDG_ClearFlag();//清除提前喚醒標(biāo)志



  •         LED1=!LED1;//檢測中斷函數(shù)是否工作了

  • }

簡單來講(只是個人愚見)就是WWDG是一個遞減的計(jì)數(shù)器,從最大值遞減到0,到0的時候如果沒喂狗(就是重置計(jì)數(shù)器,比如說將它重置為最大值)就會復(fù)位,但中斷觸發(fā)是在中途進(jìn)行的,就是當(dāng)遞減到0x40的時候就會觸發(fā)中斷,這時候會轉(zhuǎn)到我們寫的中斷服務(wù)函數(shù)里面去,只要我們在中斷服務(wù)函數(shù)里面寫喂狗函數(shù)就可以一直喂狗了



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表