標題: STM32看門狗操作 [打印本頁]
作者: kevinkwok 時間: 2018-7-4 21:50
標題: STM32看門狗操作
窗口看門狗( WWDG)通常被用來監測由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。
簡單來說,和IWDG的區別就是IWDG要靠手動去喂狗,而WWDG有內置中斷,所以可以利用設置中斷服務函數去喂狗
首先還是設置WWDG (記得往工程里面添加頭文件)大致設置步驟如下:
1)使能 WWDG 時鐘(系統內部時鐘)
2)設置窗口值和分頻數
3)開啟 WWDG 中斷并分組
4) 設置計數器初始值并使能看門狗
5) 編寫中斷服務函數
- #include "led.h"
#include "wwdg.h"
//保存 WWDG 計數器的設置值,默認為最大.
u8 WWDG_CNT=0x7f;
void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);
WWDG_SetPrescaler(fprer);////設置 IWDG 預分頻值
WWDG_SetWindowValue(wr);//設置窗口值
WWDG_Enable(tr); //使能看門狗 , 設置 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();//清除提前喚醒標志
LED1=!LED1;//檢測中斷函數是否工作了
- }
簡單來講(只是個人愚見)就是WWDG是一個遞減的計數器,從最大值遞減到0,到0的時候如果沒喂狗(就是重置計數器,比如說將它重置為最大值)就會復位,但中斷觸發是在中途進行的,就是當遞減到0x40的時候就會觸發中斷,這時候會轉到我們寫的中斷服務函數里面去,只要我們在中斷服務函數里面寫喂狗函數就可以一直喂狗了
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
在线一区二区三区
|
国产午夜精品一区二区三区视频
|
中文字幕偷拍
|
国产成人黄色
|
www.久草|
天堂在线中文资源
|
久久久久久久久国产
|
黄色激情视频网站
|
日本不卡一区
|
性生活毛片
|
国产91在线看
|
中文字幕av在线播放
|
欧美日韩小视频
|
一级毛片大全
|
日本一级大毛片a一
|
国产精品福利在线
|
免费观看a级片
|
欧美理伦
|
在线视频日本
|
少妇一级淫片
|
午夜你懂的|
99久久综合
|
国产精品羞羞答答
|
国产精品成人一区二区
|
亚洲免费黄色
|
亚洲欧美日韩一区二区三区四区
|
一本色道久久综合亚洲精品小说
|
欧美日韩在线一区二区
|
亚洲欧美日韩精品
|
欧美一级日韩一级
|
一区二区不卡
|
香蕉综合网
|
国产福利视频在线观看
|
毛片视频免费观看
|
精品国产毛片
|
午夜99|
www欧美
|
国产一级特黄aaa大片
|
成人在线视频网
|
国产91av在线
|
a级片网站
|