<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于AVR單片機(jī)的看門狗

          關(guān)于AVR單片機(jī)的看門狗

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏

          看門狗這個(gè)東西以前沒接觸過……

          本文引用地址:http://www.ex-cimer.com/article/201611/323038.htm

          理解它費(fèi)了一點(diǎn)周折。

          使用它的復(fù)位MCU的功能實(shí)現(xiàn)LED的閃爍。

          準(zhǔn)備工作是設(shè)定WDT的超時(shí)時(shí)間(如1s)

          首先使能看門狗(wdt_enable),然后喂狗(wdt_reset),再延時(shí)燈的閃爍時(shí)間(delay=0.5s),使燈亮(SET_LED);再用一個(gè)恰當(dāng)?shù)谋容^長(zhǎng)的延時(shí)(delay>0.5s)餓死狗。之后MCU重啟,如此往復(fù)。

          (1)延時(shí)可以調(diào)用庫(kù)函數(shù),還可以使用定時(shí)器;

          (2)SET_LED; while(1) wdt_reset(); 表示 不斷喂狗,從而不讓MCU重啟,使燈一直亮著。程序中使用這些代碼的用途待考證,可以給作者發(fā)email 嘿嘿~

          (3)軟件看門狗和硬件看門狗。軟件看門狗可以用wdt_disable來禁掉。而硬件看門狗不能。AVR可以通過修改熔絲位來分別實(shí)現(xiàn)軟硬看門狗。

          (4)wdt_enable(timeout)的參數(shù)timeout表示看門狗的超時(shí)時(shí)間,即timeout時(shí)間內(nèi)不喂狗,狗就會(huì)叫,mcu就會(huì)復(fù)位。

          =================================================================================================

          #include
          #include
          #include

          #define uchar unsigned char
          #define uint unsigned int
          #define SET_LED PORTA&=0XFE //PA0輸出低電平,黃燈亮
          #define CLR_LED PORTA|=0X01 //PA0輸出高電平,黃燈滅

          void DelayMs(uint ms)
          {
          uint i;
          for(i=0;i
          _delay_loop_2(2000); // 8MHz / 1000Hz=8000
          //8000 / 4 = 2000
          }

          int main(void)
          {
          DDRA=_BV(PA0);
          PORTA=_BV(PA0);

          wdt_enable(WDTO_1S);//使能看門狗定時(shí)器,溢出時(shí)間設(shè)置為1秒
          wdt_reset(); //喂狗
          DelayMs(500); //延時(shí)500毫秒
          SET_LED;
          DelayMs(5000); //延時(shí)5秒,等待看門狗定時(shí)器溢出


          SET_LED;
          while(1)
          wdt_reset();
          }



          關(guān)鍵詞: AVR看門

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();