新聞中心

        STM32的看門狗配置

        作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        看門狗的配置有2部分:看門狗的初始化和喂狗。

        下面看一下STM32是怎么初始化看門狗和喂狗的。

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

        看門狗初始化步驟:

        1.IWDG_PR和IWDG_RLR寄存器具有寫保護功能。要修改這兩個寄存器的值,必須先向
        IWDG_KR寄存器中寫入0x5555。

        2.設(shè)置預(yù)分頻因子 (Prescaler divider)PR[2:0] 。

        3.設(shè)置看門狗計數(shù)器重裝載值。RLR[11:0]。

        4.重新裝載看門狗的計數(shù)值,只要在鍵寄存器IWDG_KR中寫入0xAAAA。

        5.在鍵寄存器(IWDG_KR)中寫入0xCCCC,開始啟用獨立看門狗。

        void Wdt_Init(void)
        {
        // Enable write access to IWDG_PR and IWDG_RLR registers
        IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//IWDG->KR =0x5555

        // IWDG counter clock: 40KHz(LSI) / 64 = 0.625 KHz
        IWDG_SetPrescaler(IWDG_Prescaler_256);//IWDG->PR =0x06;


        // Set counter reload value to 1250
        IWDG_SetReload(0xfff);//IWDG->RLR =0xFFF

        Red IWDG counter

        IWDG_ReloadCounter();//IWDG->KR =0xAAAA


        / Enable IWDG (the LSI oscillator will be enabled by hardware)
        IWDG_Enable();//IWDG->KR =0xCCCC


        }

        //喂狗

        void Kick_Dog(void)
        {
        //Reload IWDG counter
        IWDG_ReloadCounter();//IWDG->KR =0xAAAA
        }

        上面這個看門狗有 /25626214.4 ms。即2s多一點時間沒有喂狗就復(fù)位。

        LSI不穩(wěn)定,官方手冊有下面這么一個說法:



        關(guān)鍵詞: STM32看門狗配

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 孟州市| 阳山县| 寿光市| 阿勒泰市| 南充市| 余干县| 甘泉县| 南川市| 甘肃省| 萝北县| 普格县| 天峻县| 镇宁| 南漳县| 南丰县| 崇仁县| 安义县| 芜湖市| 崇明县| 阿拉善左旗| 安远县| 方山县| 凤翔县| 米易县| 石狮市| 长阳| 宜城市| 绥化市| 泸州市| 海门市| 华亭县| 团风县| 健康| 大余县| 阆中市| 宣化县| 海盐县| 咸宁市| 崇左市| 道孚县| 宣威市|