關(guān)于AVR單片機的看門狗
看門狗這個東西以前沒接觸過……
本文引用地址:http://m.butianyuan.cn/article/201611/323038.htm理解它費了一點周折。
使用它的復位MCU的功能實現(xiàn)LED的閃爍。
準備工作是設定WDT的超時時間(如1s)
首先使能看門狗(wdt_enable),然后喂狗(wdt_reset),再延時燈的閃爍時間(delay=0.5s),使燈亮(SET_LED);再用一個恰當?shù)谋容^長的延時(delay>0.5s)餓死狗。之后MCU重啟,如此往復。
(1)延時可以調(diào)用庫函數(shù),還可以使用定時器;
(2)SET_LED; while(1)
(3)軟件看門狗和硬件看門狗。軟件看門狗可以用wdt_disable來禁掉。而硬件看門狗不能。AVR可以通過修改熔絲位來分別實現(xiàn)軟硬看門狗。
(4)wdt_enable(timeout)的參數(shù)timeout表示看門狗的超時時間,即timeout時間內(nèi)不喂狗,狗就會叫,mcu就會復位。
=================================================================================================
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define SET_LED PORTA&=0XFE //PA0輸出低電平,黃燈亮
#define CLR_LED PORTA|=0X01
void DelayMs(uint ms)
{
}
int main(void)
{
}
評論