日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 對STM32任何模塊使用前都要對其初始化、首先就是初始化外設(shè)時鐘,可以簡單看系統(tǒng)時鐘章節(jié)關(guān)于外設(shè)時鐘,看數(shù)據(jù)手冊如下:看門狗由獨(dú)立內(nèi)部40M時鐘驅(qū)動,所以不需要我們在初始化時鐘配置寄存器。 讀數(shù)據(jù)手冊可

對STM32任何模塊使用前都要對其初始化、首先就是初始化外設(shè)時鐘,可以簡單看系統(tǒng)時鐘章節(jié)關(guān)于外設(shè)時鐘,看數(shù)據(jù)手冊如下:


看門狗由獨(dú)立內(nèi)部40M時鐘驅(qū)動,所以不需要我們在初始化時鐘配置寄存器。





讀數(shù)據(jù)手冊可以得知看門狗模塊使用的系統(tǒng)LSI時鐘,初始化配置之前要設(shè)置預(yù)分配寄存器IWDG_PR,以及設(shè)置IWDG_RLR兩個寄存器的值,由于寄存器有寫保護(hù),根據(jù)數(shù)據(jù)手冊可知:




所以在設(shè)置之前寄存器之前必須先對IWDG_KR(鍵寄存器)再寫入0x5555,修改寄存器的值 。接下來看預(yù)分頻寄存器:






預(yù)分因子主要和看門狗的超時時間有關(guān) 看手冊可知:





(這里我沒有深究最大值的用處),接著我們看自動裝載寄存器:




設(shè)置IWDG_PR和IWDG_RLR的初值。

我們計(jì)算一下看門狗的喂狗時間(看門狗溢出時間)計(jì)算公式:

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

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

比如我們設(shè)置prer為4, rlr的值為625,我們就可以計(jì)算得到 Tout=64*625/40=1000ms,這樣,看門狗的溢出時間就是1S,只要在這一秒鐘 內(nèi),有一次吸入0XAAAA到IWDG_KR,就不會導(dǎo)致看門狗復(fù)位。

所以初始化函數(shù)如下:


void IWDG_Init(4,625)

{

IWDG->KR=0X5555; //解除寄存器保護(hù)

IWDG->PR=prer; // 寫入初始化分頻值

IWDG->RLR=rlr; // 寫入自動裝載值

IWDG->KR=0XAAAA; //開啟寄存器保護(hù)

IWDG->KR=0XCCCC; //啟動看門狗

}


初始化完成后 看門狗開始逐漸遞減計(jì)數(shù)到0000并復(fù)位 ,所以在復(fù)位之前要不斷喂狗,

即不斷重新加載數(shù)據(jù)到IWDG_RLR中防止復(fù)位


喂狗函數(shù)如下:


void IWDG_Feed(void)

{

IWDG->KR=0XAAAA;

}

至此基本的獨(dú)立看門狗的配置完成 初始化后 在適當(dāng)?shù)胤秸{(diào)用喂狗程序即可。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉