• <label id="gmp5l"></label>

    <li id="gmp5l"></li>
      • 您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
        4新聞資訊
        您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

        ?AVR 看門狗使用

        文章出處:單片機(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時間:
        2020
        11-10

            //觀察喂狗與不喂狗的區(qū)別,使用PB口的LED指示燈做狀態(tài)指示。

            //將PB口的LED指示燈使能開關(guān)切換到"ON"狀態(tài)。

            #include


            #define DISP_DDR DDRB

            #define DISP_PORT PORTB

            //看門狗WDT初始化程序

            void wdt_init(void)

            {

                asm("wdr");   //clr wdt

                WDTCR=0x0F;   //enable wdt,clk = 2048,2.1S

            }

            void main(void)

            {

                uint8 i;


                DISP_DDR = 0XFF;

                wdt_init();


                while(1)

                {

                    DISP_PORT++;    //數(shù)據(jù)顯示向上加,作AVR正常運行的指示

                    asm("wdr");    //喂狗,去除此句將導(dǎo)致狗餓死,AVR復(fù)位

                    delay50ms(20);

                }

            }

            void WDT_off(void)

            {

                asm("cli");

                asm("wdr");   //復(fù)位看門狗,即喂狗

                /* Clear WDRF in MCUSR */

                MCUSR &= ~(1<

                /* 置位 WDTOE  和 WDE*/

                WDTCR |= (1<

                /* 關(guān)閉 WDT */

                WDTCR = 0x00;

            }

             void WATCHDOG_Feed()

             {

                 asm("wdr");   //復(fù)位看門狗,即喂狗

             }

        //在AVR的運行程序中設(shè)置讓PB顯示端口自加。若AVR正常工作,

        //及時喂狗,則單片機(jī)設(shè)置的顯示端口正常自加。

        //去除語句:asm("wdr");單片機(jī)不斷復(fù)位,程序得不到允許,自加數(shù)據(jù)沒有顯示往上加。


        初始化,然后喂狗,喂狗要在看門狗咬人之前,(復(fù)位之前喂狗) 
        注:清狗指令不能放定時器中斷里,因此不管程序飛跑到哪里, 
        執(zhí)行哪里,中斷產(chǎn)生后都會執(zhí)行中斷函數(shù), 
        所以在定時器里的清狗指令會使WDT起不到作用(失效)。

        上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

        CopyRight 2020-2025 www.jlodreman.com All rights reserved   滬ICP備2021005866號

        亚洲人成影院在线观看,91综合永久在线观看,欧洲亚洲日韩国产AV一级,中文字幕在线视频播放
      • <label id="gmp5l"></label>

        <li id="gmp5l"></li>