新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32學(xué)習(xí)筆記---IWDG獨立看門狗實驗

        STM32學(xué)習(xí)筆記---IWDG獨立看門狗實驗

        作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
        繼做了WWDG窗口看門狗實驗后,繼續(xù)進行第9個實驗-IWDG獨立看門狗實驗,本實驗通過設(shè)置窗口看門狗IWDG間斷時間來定期的檢查是否出錯,在SysTick_Handler中斷函數(shù)中加入了流水燈用來測試是否運行了IDWG看門狗程序,用PD6-LED2通過閃爍驗證程序可行性,編程工程大致和USART實驗過程差不多,先是開啟系統(tǒng)時鐘,然后GPIO端口時鐘,然后復(fù)用功能時鐘AFIO,然后各個模塊用的的時鐘,,呵呵,之后進入各個模塊初始化,設(shè)置,編寫子程序,中斷的話,要在中斷函數(shù)中填寫某模塊的中斷觸發(fā)處理函數(shù),重要的是在CONFG.H函數(shù)中開啟模塊的聲明,差不多是這樣的了。

        以下為IWDG函數(shù)主要部分:

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

        //IWDG窗口看門狗設(shè)置初始化
        void IWDG_Config(void)
        {
        //獨立看門狗初始化
        IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//啟動寄存器讀寫

        IWDG_SetPrescaler(IWDG_Prescaler_32);//40K時鐘32分頻

        IWDG_SetReload(349); //計數(shù)器數(shù)值

        IWDG_ReloadCounter(); //重啟計數(shù)器

        IWDG_Enable(); //啟動看門狗
        }
        ***********************************************************

        注意事項:

        i. 有狗平常沒事情可以不理,但是千萬別忘了喂它,否則死都不知道怎么死的!

        ii. 初始化程序的調(diào)用一定要在systic的初始化之后。

        iii. 獨立看門狗需要systic中斷來喂,但是systic做別的用處不能只做這件事,所以我寫了如下幾句代碼,可以不影響systic的其他應(yīng)用,其他systic周期代碼也可參考:

        第一步:在stm32f10x_it.c中定義變量

        int Tic_IWDG; //喂狗循環(huán)程序的頻率判斷變量

        第二步:將SysTickHandler中喂狗代碼改為下面:

        Tic_IWDG++; //變量遞增

        if(Tic_IWDG>=100) //每100個systic周期喂狗

        { IWDG_ReloadCounter();//重啟計數(shù)器(喂狗)

        Tic_IWDG=0; //變量清零

        }

        完整代碼為

        void SysTick_Handler(void)
        {
        Tic_Val++; //精確延時變量遞增

        Tic_IWDG++; //獨立看門狗變量遞增

        if(Tic_IWDG>=100) //每100個systic周期喂狗

        {
        IWDG_ReloadCounter();//重啟計數(shù)器(喂狗)
        Tic_IWDG=0; //變量清零

        switch(IWDGFLAG)
        {
        case 0:
        GPIO_SetBits(GPIOD, GPIO_Pin_6);
        break;
        case 1:
        GPIO_ResetBits(GPIOD, GPIO_Pin_6);
        break;
        default:
        break;
        }
        IWDGFLAG=!IWDGFLAG;

        }
        }
        以下為IWDG函數(shù)結(jié)果部分:








        關(guān)鍵詞: STM32IWDG獨立看門

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 泉州市| 山丹县| 东山县| 金沙县| 剑河县| 吉隆县| 富锦市| 措美县| 商河县| 屏山县| 巴楚县| 台北市| 金乡县| 蓬溪县| 甘德县| 紫云| 米脂县| 榆社县| 乐东| 赤水市| 绵阳市| 顺昌县| 金秀| 横山县| 镇平县| 绥化市| 德令哈市| 叶城县| 姜堰市| 唐海县| 武宣县| 朝阳县| 胶南市| 泾川县| 新建县| 札达县| 馆陶县| 昌江| 板桥市| 英超| 孝义市|