新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM學習筆記--獨立看門狗IWDG

        STM學習筆記--獨立看門狗IWDG

        作者: 時間:2016-11-18 來源:網絡 收藏
        1:主要性能

        (1)時鐘由獨立的RC振蕩器提供

        本文引用地址:http://www.104case.com/article/201611/315985.htm

        (2)自由運行的遞減計數器

        (3)看門狗被激活,則在計數器至0x000時產生復位

        2:寄存器理解

        (1)鍵寄存器(IWDG_KR)中寫入0XCCCC,開始啟動獨立看門狗,計數值由復位

        (2)0XFFF遞減計數,當計數器到末尾0X000時,產生一個復位信號。

        (3)鍵寄存器(IWDG_KR)中寫入0XAAAA,IWDG_RLR中的值會重新加入到計數器。即是清狗。

        IWDG_PR(8bits預分頻寄存器)和IWDG_RLR(12bits)具有寫保護功能,想修改這個寄存器,IWDG_KR寄存器寫入0X5555。

        工作原理框圖

        時鐘來源是LSI內部RC振蕩40KHZ不穩定30~60KHZ,對時鐘的穩定性要求較低的場合。

        注意:

        12位IWDG_RLR重裝載數值0X000-0XFFF,若修改,必須等待IWDG_SR寄存器中的RVU為0。

        3位PR[2:0]必須等待PVU為0時,才能修改IWDG_PR寄存器中的數值。

        PVU即看門狗預分頻更新prescaler value update

        RVU即看門狗重裝載值更新reload value update

        寄存器如下:

        程序如下:來自正點原子@ALIENTEK開發板

        //初始化獨立看門狗

        //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->KR=0X5555;//使能對IWDG->PR和IWDG->RLR的寫

        IWDG->PR=prer;//設置分頻系數

        IWDG->RLR=rlr;//從加載寄存器IWDG->RLR

        IWDG->KR=0XAAAA;//reload將重裝載值放入計數器,從而避免從0XFFF開始

        IWDG->KR=0XCCCC;//使能看門狗

        }

        //喂獨立看門狗

        void IWDG_Feed(void)

        {

        IWDG->KR=0XAAAA;//reload

        }



        關鍵詞: STM獨立看門狗IWD

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 二手房| 囊谦县| 喀喇沁旗| 汕头市| 郁南县| 桂东县| 招远市| 佳木斯市| 万荣县| 津市市| 盈江县| 额尔古纳市| 雅安市| 望都县| 喀喇沁旗| 宿州市| 滨州市| 江都市| 四会市| 南召县| 景德镇市| 河南省| 崇义县| 克东县| 临城县| 两当县| 连州市| 清水河县| 波密县| 石河子市| 许昌市| 泰兴市| 美姑县| 井冈山市| 湾仔区| 逊克县| 当阳市| 安宁市| 忻州市| 平遥县| 汕头市|