<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 關(guān)于A(yíng)VR單片機的看門(mén)狗

關(guān)于A(yíng)VR單片機的看門(mén)狗

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

看門(mén)狗這個(gè)東西以前沒(méi)接觸過(guò)……

本文引用地址:http://dyxdggzs.com/article/201611/323038.htm

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

使用它的復位MCU的功能實(shí)現LED的閃爍。

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

首先使能看門(mén)狗(wdt_enable),然后喂狗(wdt_reset),再延時(shí)燈的閃爍時(shí)間(delay=0.5s),使燈亮(SET_LED);再用一個(gè)恰當的比較長(cháng)的延時(shí)(delay>0.5s)餓死狗。之后MCU重啟,如此往復。

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

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

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

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

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

#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);//使能看門(mén)狗定時(shí)器,溢出時(shí)間設置為1秒
wdt_reset(); //喂狗
DelayMs(500); //延時(shí)500毫秒
SET_LED;
DelayMs(5000); //延時(shí)5秒,等待看門(mén)狗定時(shí)器溢出


SET_LED;
while(1)
wdt_reset();
}



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>