娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月22日(星期四)

2020年05月22日 | STM32學習筆記——獨立看門狗IWDG介紹及配置

發布者:數字冒險 來源: eefocus關鍵字:STM32  獨立看門狗  IWDG 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32 的獨立看門狗由內部專門的 40Khz 低速時鐘驅動,即使主時鐘發生故障,它也仍然有效。這里需要注意獨立看門狗的時鐘是一個內部 RC 時鐘,所以并不是準確的 40Khz,而是在 30~60Khz 之間的一個可變化的時鐘,只是我們在估算的時候,以 40Khz 的頻率來計算,看門狗對時間的要求不是很精確,所以,時鐘有些偏差,都是可以接受的。


看門狗的原理

單片機系統在外界的干擾下會出現程序跑飛的現象導致出現死循環,看門狗電路就是為了避免這種情況的發生。看門狗的作用就是在一定時間內(通過定時計數器實現)沒有接收喂狗信號(表示MCU已經掛了),便實現處理器的自動復位重啟(發送復位信號


下面我們在了解幾個與獨立看門狗相關聯的寄存器之后講解怎么通過庫函數來實現配置。


鍵值寄存器 IWDG_KR

在這里插入圖片描述

在鍵值寄存器(IWDG_KR)中寫入 0xCCCC,開始啟用獨立看門狗;此時計數器開始從其復位值 0xFFF 遞減計數。當計數器計數到末尾 0x000 時,會產生一個復位信號(IWDG_RESET)。無論何時,只要鍵寄存器 IWDG_KR 中被寫入 0xAAAA, IWDG_RLR 中的值就會被重新加載到計數器中從而避免產生看門狗復位 。

IWDG_PR 和 IWDG_RLR 寄存器具有寫保護功能。要修改這兩個寄存器的值,必須先向IWDG_KR 寄存器中寫入0x5555。將其他值寫入這個寄存器將會打亂操作順序,寄存器將重新被保護。重裝載操作(即寫入 0xAAAA)也會啟動寫保護功能。


預分頻寄存器IWDG_PR

該寄存器用來設置看門狗時鐘的分頻系數。

在這里插入圖片描述

重裝載寄存器IWDG_RLR

該寄存器用來保存重裝載到計數器中的值。該寄存器也是一個32位寄存器,但是只有低 12 位是有效的。

在這里插入圖片描述

只要對以上三個寄存器進行相應的設置,我們就可以啟動 STM32 的獨立看門狗,啟動過程可以按如下步驟實現:

1)取消寄存器寫保護(向 IWDG_KR 寫入 0X5555)

通過這步,我們取消 IWDG_PR 和IWDG_RLR 的寫保護,使后面可以操作這兩個寄存器,設置 IWDG_PR 和 IWDG_RLR 的值。這在庫函數中的實現函數是:


IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

1

這個函數非常簡單,顧名思義就是開啟/取消寫保護,也就是使能/失能寫權限。

2)設置獨立看門狗的預分頻系數和重裝載值

設置看門狗的分頻系數的函數是


void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //設置 IWDG 預分頻值

1

設置看門狗的重裝載值的函數是:


void IWDG_SetReload(uint16_t Reload); //設置 IWDG 重裝載值

1

設置好看門狗的分頻系數 prer 和重裝載值就可以知道看門狗的喂狗時間(也就是看門狗溢

出時間),該時間的計算方式為:


Tout=((4×2^prer) ×rlr) /40


其中 Tout 為看門狗溢出時間(單位為ms);prer 為看門狗時鐘預分頻值(IWDG_PR 值),范圍為 0~7;rlr 為看門狗的重裝載值(IWDG_RLR 的值);

比如我們設定 prer 值為 4,rlr 值為 625,那么就可以得到 Tout=64×625/40=1000ms,這樣,看門狗的溢出時間就是 1s,只要你在一秒鐘之內,有一次寫入 0XAAAA 到IWDG_KR,就不會導致看門狗復位(當然寫入多次也是可以的)。這里需要提醒大家的是,看門狗的時鐘不是準確的 40Khz,所以在喂狗的時候,最好不要太晚了,否則,有可能發生看門狗復位。

3)重載計數值喂狗(向 IWDG_KR 寫入 0XAAAA)

庫函數里面重載計數值的函數是:


IWDG_ReloadCounter(); //按照 IWDG 重裝載寄存器的值重裝載 IWDG 計數器

1

通過這句,將使 STM32 重新加載IWDG_RLR 的值到看門狗計數器里面。即實現獨立看門狗的喂狗操作。

4) 啟動看門狗(向 IWDG_KR 寫入 0XCCCC)

庫函數里面啟動獨立看門狗的函數是:


IWDG_Enable(); //使能 IWDG

1

通過這句,來啟動 STM32 的看門狗。注意IWDG 在一旦啟用,就不能再被關閉!想要關

閉,只能重啟,并且重啟之后不能打開IWDG,否則問題依舊,所以在這里提醒大家,如果不用 IWDG 的話,就不要去打開它,免得麻煩。


通過上面 4 個步驟,我們就可以啟動 STM32 的看門狗了,使能了看門狗,在程序里面就必須間隔一定時間喂狗,否則將導致程序復位。


完整的程序

//初始化獨立看門狗

//prer:分頻數:0~7(只有低3位有效!)

//分頻因子=4*2^prer.但最大值只能是256!

//rlr:重裝載寄存器值:低11位有效.

//時間計算(大概):Tout=((4*2^prer)*rlr)/40 (ms).

void IWDG_Init(u8 prer,u16 rlr) 

{

  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //使能對寄存器IWDG_PR和IWDG_RLR的寫操作

IWDG_SetPrescaler(prer);  //設置IWDG預分頻值:設置IWDG預分頻值為64

IWDG_SetReload(rlr);  //設置IWDG重裝載值

IWDG_ReloadCounter();  //按照IWDG重裝載寄存器的值重裝載IWDG計數器

IWDG_Enable();  //使能IWDG

}

//喂獨立看門狗

void IWDG_Feed(void)

{   

  IWDG_ReloadCounter();//reload    

}

關鍵字:STM32  獨立看門狗  IWDG 引用地址:STM32學習筆記——獨立看門狗IWDG介紹及配置

上一篇:案例說明stm32官方庫函數使用方法 (庫版本v3.5, Keil MDK 5)
下一篇:STM32官方標準固件庫開發與寄存器開發的區別

推薦閱讀

日前小米董事長雷軍發微博表示,月底的小米深圳新品發布會上,將發布多款新品。除了小米8周年紀念款之外,還將發布的會有小米 7以及小米手環 3等產品。有網友在微博上詢問小米Max 3的消息,雷軍表示,小米Max 3估計7月份發布,現在還沒有準備好。如果急等,考慮一下小米Max 2。  小米Max之前兩代基本都在每年的5月份發布,今年可能是由于小米8周年...
在keil2中修改晶振為22.1184,然后可以測試得到如下兩種毫秒延時和秒延時。方法一:/*實現功能:在22.1184MHZ下的毫秒延時*/void dmsec (u16 count){unsigned int i;while (count){ i =230;while (i>0) i--;count--; }}方法二:/*實現功能:在22.1184MHZ下的大約1秒延時*/ for(i=0;i<1000;i++){ for(j=0;j<230;j++) { ; ...
5月22日上午,軟銀集團(SBG,9984)正式宣布將出售電信子公司軟銀(SB,9434)的所持股份,共2.4億股,轉讓價格為3102億日元。軟銀集團21日宣布,將出售2.4億股股份,相當于總運營商軟銀(9434)已發行股份總數的5%(不包括庫存股)。交付計劃于5月26日完成,并將通過多家證券公司轉售。軟銀集團將使用所得款項來購買庫存股票,減少債務和現金余額。軟銀集團的所有權比...
企查查顯示,5月19日,TCL實業控股股份有限公司發生法定代表人變更,由“李東生”變更為“王成”。圖片來源:企查查該公司成立于2018年,注冊資本32.25億元,經營范圍包含:股權投資,不動產租賃,軟件開發,互聯網信息服務,互聯網文化活動服務等。企查查股權穿透顯示,該公司由惠州礪達天成股權投資有限公司和鐘偉堅共同持股,疑似實際控制人為李東生。

史海拾趣

問答坊 | AI 解惑

專用保護電路,請大家參考

專用保護電路,請大家參考…

查看全部問答∨

請教設計LC帶通濾波器的關鍵點

最近設計了一個LC帶通濾波器,中心頻率400MHz,帶寬120MHz,用ADS和Gensys都能生成比較理想的模型,但把實際的電感、電容的S2P文件帶入仿真, 卻波形面目全非,用的都是ATC的電感和電容,大家在設計時有沒有遇到這樣的問題,來討論一下吧!…

查看全部問答∨

09年電子設計大賽最新消息

本帖最后由 paulhyde 于 2014-9-15 09:28 編輯 分享09年電子設計大賽最新消息啦  …

查看全部問答∨

【藏書閣】LED顯示屏的計算機遠程控制系統

[ 本帖最后由 wzt 于 2010-3-12 17:31 編輯 ]…

查看全部問答∨

LED壽命 試驗方法

replyreload += \',\' + 377090;Timson,如果您要查看本帖隱藏內容請回復…

查看全部問答∨

一年一度的全球最大規模動物遷徙已經開始了,祝各位行程快樂!

一年一度的全球最大規模動物遷徙已經開始了,明天我也要加入這個大軍之中。 提前祝大家新春快樂!…

查看全部問答∨

正常的全速運行和仿真全速運行有什么區別?

                                 使用F101C8T6操作PSAM,用的AN2598的例程,遇到這么個問題,使用ULINK仿真全速運行,對PSAM的操作是正常的,但是不 ...…

查看全部問答∨

2407里面的WDCR寄存器是做什么用的呀??

2407里面的WDCR寄存器是做什么用的呀?? 一般如何設置它呢? …

查看全部問答∨

為地下停車場能耗做做“減法”

                             ——介紹“按需照明”理念的實際應用 近年來,高層建筑、商業 ...…

查看全部問答∨

用TPS167D318給2810供電的問題

  我用TPS767D318給2810DSP供電,3.3V和1.8V之間的二極管可以省掉么?如果不能省掉,選用什么樣的二極管?   我的板子上把兩個二極管給拿掉了,3.3V輸出很正常,1.8V的輸出很不穩定,用萬用表測量,在0-1.8V之間變化,用示波器看不 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 许昌市| 金昌市| 南靖县| 崇阳县| 阆中市| 延津县| 寿阳县| 平谷区| 响水县| 滦平县| 滁州市| 雷州市| 杭锦后旗| 昭平县| 呼玛县| 紫云| 北碚区| 健康| 榕江县| 藁城市| 崇明县| 山东省| 博兴县| 湘潭县| 江永县| 怀集县| 常德市| 英山县| 台山市| 伊宁市| 都安| 延边| 尉犁县| 永平县| 雅安市| 吴川市| 长海县| 翼城县| 高雄县| 潞西市| 潜山县|