关于AVR单片机的看门狗
看门狗这个东西以前没接触过……
理解它费了一点周折。
使用它的复位MCU的功能实现LED的闪烁。
准备工作是设定WDT的超时时间(如1s)
首先使能看门狗(wdt_enable),然后喂狗(wdt_reset),再延时灯的闪烁时间(delay=0.5s),使灯亮(SET_LED);再用一个恰当的比较长的延时(delay>0.5s)饿死狗。之后MCU重启,如此往复。
(1)延时可以调用库函数,还可以使用定时器;
(2)SET_LED; while(1)
(3)软件看门狗和硬件看门狗。软件看门狗可以用wdt_disable来禁掉。而硬件看门狗不能。AVR可以通过修改熔丝位来分别实现软硬看门狗。
(4)wdt_enable(timeout)的参数timeout表示看门狗的超时时间,即timeout时间内不喂狗,狗就会叫,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)
{
}
AVR看门 相关文章:
- Proteus环境下Avr I/O电平反复变化(看门狗复位)(11-28)
- 这就是AVR的看门狗watchdogtimeout(11-25)
- AVR 看门狗WDT程序(11-17)
- ICCAVR看门狗(11-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)