色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > STM32的IWDG

STM32的IWDG 時間:2019-07-12      來源:西安中心,高老師

1、什么是IWDG:

  STM32 有兩個看門狗,一個是獨立看門狗另外一個是窗口看門狗,獨立看門狗號稱寵物狗,窗口看門狗號稱警犬,本章我們主要分析獨立看門狗的功能框圖和它的應(yīng)用。獨立看門狗用通俗一點的話來解釋就是一個 12 位的遞減計數(shù)器,當(dāng)計數(shù)器的值從某個值一直減到 0 的時候,系統(tǒng)就會產(chǎn)生一個復(fù)位信號,即 IWDG_RESET。如果在計數(shù)沒減到 0 之前,刷新了計數(shù)器的值的話,那么就不會產(chǎn)生復(fù)位信號,這個動作就是我們經(jīng)常說的喂狗。看門狗功能由 VDD 電壓域供電,在停止模式和待機模式下仍能工作。  

2 、IWDG功能框圖剖析

    ①獨立看門狗時鐘  

  獨立看門狗的時鐘由獨立的 RC振蕩器 LSI提供,即使主時鐘發(fā)生故障它仍然有效,非常獨立。LSI的頻率一般在 30~60KHZ之間,根據(jù)溫度和工作場合會有一定的漂移,我們一般取 40KHZ,所以獨立看門狗的定時時間并一定非常精確,只適用于對時間精度要求比較低的場合。

②計數(shù)器時鐘  

  遞減計數(shù)器的時鐘由 LSI經(jīng)過一個 8位的預(yù)分頻器得到,我們可以操作預(yù)分頻器寄存器 IWDG_PR 來設(shè)置分頻因子,分頻因子可以是:[4,8,16,32,64,128,256,256],計數(shù)器時鐘CK_CNT= 40/ 4*2^PRV,一個計數(shù)器時鐘計數(shù)器就減一。

③計數(shù)器

  獨立看門狗的計數(shù)器是一個 12 位的遞減計數(shù)器,最大值為 0XFFF,當(dāng)計數(shù)器減到 0時,會產(chǎn)生一個復(fù)位信號:IWDG_RESET,讓程序重新啟動運行,如果在計數(shù)器減到 0 之前刷新了計數(shù)器的值的話,就不會產(chǎn)生復(fù)位信號,重新刷新計數(shù)器值的這個動作我們俗稱喂狗。

④重裝載寄存器

  重裝載寄存器是一個 12 位的寄存器,里面裝著要刷新到計數(shù)器的值,這個值的大小決定著獨立看門狗的溢出時間。超時時間 Tout = (4*2^prv) / 40 * rlv (s) ,prv是預(yù)分頻器寄存器的值,rlv是重裝載寄存器的值。

⑤鍵值寄存器

  鍵值寄存器 IWDG_KR 可以說是獨立看門狗的一個控制寄存器,主要有三種控制方式,往這個寄存器寫入下面三個不同的值有不同的效果。

通過寫往鍵寄存器寫 0XCCC 來啟動看門狗是屬于軟件啟動的方式,一旦獨立看門狗啟動,它就關(guān)不掉,只有復(fù)位才能關(guān)掉。

⑥狀態(tài)寄存器

  狀態(tài)寄存器 SR只有位 0:PVU和位 1:RVU有效,這兩位只能由硬件操作,軟件操作不了。RVU:看門狗計數(shù)器重裝載值更新,硬件置 1 表示重裝載值的更新正在進行中,更新完畢之后由硬件清 0。PVU: 看門狗預(yù)分頻值更新,硬件置’1’指示預(yù)分頻值的更新正在進行中,當(dāng)更新完成后,由硬件清 0。所以只有當(dāng) RVU/PVU等于 0 的時候才可以更新重裝載寄存器/預(yù)分頻寄存器。

3、 怎么用 IWDG

  獨立看門狗一般用來檢測和解決由程序引起的故障,比如一個程序正常運行的時間是50ms,在運行完這個段程序之后緊接著進行喂狗,我們設(shè)置獨立看門狗的定時溢出時間為60ms,比我們需要監(jiān)控的程序 50ms 多一點,如果超過 60ms 還沒有喂狗,那就說明我們監(jiān)控的程序出故障了,跑飛了,那么就會產(chǎn)生系統(tǒng)復(fù)位,讓程序重新運行。

4 、IWDG超時實驗

硬件設(shè)計:

1-IWDG,屬于內(nèi)部資源,無需外部硬件

2-KEY 一個

3-LED 兩個,用開發(fā)板自帶的RGB燈即可

實驗設(shè)計

配置IWDG的超時時間為1S,如果在1S之內(nèi)沒有及時喂狗的話,產(chǎn)生系統(tǒng)復(fù)位,并用LED燈的狀態(tài)變化來指示。

編程要點

1-如何配置IWDG的超時時間?

2-如果編寫喂狗函數(shù)?

3-在main函數(shù)里面的什么地方喂狗比較合適?

 配置IWDG的超時時間。

喂狗函數(shù)

#include "stm32f4xx.h" 

#include "./led/bsp_led.h" 

#include "./key/bsp_key.h"

#include "./iwdg/bsp_iwdg.h" 

static void Delay(__IO u32 nCount); 

int main(void) 

{

 /* LED 端口初始化 */ 

LED_GPIO_Config(); 

Delay(0X8FFFFF); 

/* 檢查是否為獨立看門狗復(fù)位 */ 

if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)

 { 

/* 獨立看門狗復(fù)位 */ 

/* 亮紅燈 */

 LED_RED;

 /* 清除標(biāo)志 */ 

RCC_ClearFlag();

 /*如果一直不喂狗,會一直復(fù)位,加上前面的延時,會看到紅燈閃爍在1s 時間內(nèi)喂狗的話,則會持續(xù)亮綠燈*/ 

}

else

/*不是獨立看門狗復(fù)位(可能為上電復(fù)位或者手動按鍵復(fù)位之類的) */

 /* 亮藍燈 */ 

LED_BLUE; 

/*初始化按鍵*/ 

Key_GPIO_Config(); // IWDG 1s 超時溢出 

IWDG_Config(IWDG_Prescaler_64 ,625);

 //while部分是我們在項目中具體需要寫的代碼,這部分的程序可以用獨立看門狗來監(jiān)控 

//如果我們知道這部分代碼的執(zhí)行時間,比如是500ms,那么我們可以設(shè)置獨立看門狗的 

//溢出時間是600ms,比500ms多一點,如果要被監(jiān)控的程序沒有跑飛正常執(zhí)行的話,那么 //執(zhí)行完畢之后就會執(zhí)行喂狗的程序,如果程序跑飛了那程序就會超時,到達不了喂狗的 

//程序,此時就會產(chǎn)生系統(tǒng)復(fù)位。但是也不排除程序跑飛了又跑回來了,剛好喂狗了, 

//歪打正著。所以要想更精確的監(jiān)控程序,可以使用窗口看門狗,窗口看門狗規(guī)定必須 

//在規(guī)定的窗口時間內(nèi)喂狗。 

while(1) 

{

 if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON )

  {

 // 喂狗,如果不喂狗,系統(tǒng)則會復(fù)位,復(fù)位后亮紅燈,如果在1s

 // 時間內(nèi)準(zhǔn)時喂狗的話,則會亮綠燈 

IWDG_Feed(); 

//喂狗后亮綠燈 

LED_GREEN; 

}

static void Delay(__IO uint32_t nCount) //簡單的延時函數(shù) 

{

 for(; nCount != 0; nCount--); 

}

程序先檢查是否為獨立看門狗復(fù)位,如果是獨立看門狗復(fù)位亮紅燈。如果一直不喂狗,會一直復(fù)位,加上前面的延時,會看到紅燈閃爍,在1S時間內(nèi)喂狗的話,則會持續(xù)亮綠燈。

上一篇:單鏈表

下一篇:QT基礎(chǔ)控件

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 成人精品一区日本无码网 | 亚洲中文字幕精品一区二区三区 | 国产三级无码内射在线看 | 小雪好紧好滑好湿好爽视频 | 亚洲欧洲精品A片久久99 | 亚洲最新版av无码中文字幕一区 | 亚洲男人的天堂在线 | 女优一区 | 夜夜调教禁脔欢爱h | 成人午夜爽爽爽免费视频 | 熟妇人妻一区二区三区四区 | 性生交大图片费看 | 精品av国产一二三四区 | 国产亚洲欧美日韩二三线 | 无码男男做受G片在线观看视频 | 多毛熟女hdvidos | 日本熟妇厨房XXXXX乱 | 国产高潮a片羞羞视频涩涩 特级小箩利无码毛片 | 亚洲国产高清AV网站 | 欧美午夜刺激影院 | 欧美日韩一区二区三区免费 | 国产熟妇另类久久久久 | 欧美亚洲日韩国产网站 | 国产特级毛片aaaaaa毛片 | 在线成人爽A毛片免费软件 在线观看片a免费观看岛国 | 久久青青草原AV免费观看 | 公和我做好爽添在厨房 | 午夜a级毛片免费观看 | 久久国产中文娱乐网 | 足疗店女技师按摩毛片 | 亚洲成A人片在线观看久 | 日韩在线永久免费播放 | 国产在线精品无码AV不卡顿 | 亚洲综合无码日韩 | 午夜久久久久久久久久影院 | 亚洲欧美日韩国产精品专区 | 久久美利坚合众国AV无码 | 最近的中文字幕在线mv视频 | 五月天丁香色婷婷 | 最近的中文字幕视频完整 | 九九热线精品视频98 |