<dl id="xausj"></dl>
    1. <ul id="xausj"><th id="xausj"></th></ul>

      <b id="xausj"></b>
      <cite id="xausj"></cite>
      <b id="xausj"><meter id="xausj"></meter></b>
      <dl id="xausj"><noframes id="xausj"></noframes></dl>
    2. 您好,歡迎訪問上海意泓電子科技有限責任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?AVR 看門狗使用

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

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

          //將PB口的LED指示燈使能開關切換到"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");    //喂狗,去除此句將導致狗餓死,AVR復位

                  delay50ms(20);

              }

          }

          void WDT_off(void)

          {

              asm("cli");

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

              /* Clear WDRF in MCUSR */

              MCUSR &= ~(1<

              /* 置位 WDTOE  和 WDE*/

              WDTCR |= (1<

              /* 關閉 WDT */

              WDTCR = 0x00;

          }

           void WATCHDOG_Feed()

           {

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

           }

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

      //及時喂狗,則單片機設置的顯示端口正常自加。

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


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

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

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

      国产中文欧美日韩,色播在线永久免费视频,另类专区亚洲无码,亚洲中文字无码av

      <dl id="xausj"></dl>
      1. <ul id="xausj"><th id="xausj"></th></ul>

        <b id="xausj"></b>
        <cite id="xausj"></cite>
        <b id="xausj"><meter id="xausj"></meter></b>
        <dl id="xausj"><noframes id="xausj"></noframes></dl>