看门狗小程序
时间:10-02
整理:3721RD
点击:
sfr WDTRST=0xa6; //定义看门狗
void main(void)
{
WDTRST=0x1E;
WDTRST=0xE1;
delay100ms(10);//延时1秒
}
在delay100ms函数延时的时候,看门狗为什么没有复位系统呢 ?
你的看门狗时间是多长?
难道不是只要过了16ms系统没有复位看门狗,看门狗就复位系统么 ?
什么是看门狗?
在延时上面加一个while(1),你现在的写法看不出会有什么问题,单片机跑飞了,或者在做无限制循环,导致不可控。
sfr WDTRST=0xa6; //定义看门狗
void main(void)
{
WDTRST=0x1E;
WDTRST=0xE1;
P3=0xfe;//P3连接LED灯
while(1)
{
delay100ms(10);//延时1秒
P3=_crol_(P3,1);
}
}
加了while(1)之后LED跑起来都是没有一点问题。
看门狗就是芯片里自带的,一秒钟喂一次狗,如果你写完程序运行的话,程序中出现问题是程序无法运行,那么看门狗会自动的从你的程序开始重新运行......
刚刚听说略带一二 还是请大神指点