szbaoqing 发表于 2010-3-11 15:39:42

ATMEGA8的看门狗使用!!

main()
{
   WDTCR= 0x0f;                                 //使能看门狗
   asm ("wdr");
   while(1)
   {                  
         asm ("wdr");
         小程序
   }
}
系统初始化我把看门狗打开,并且设置了最大的溢出时间,我下面程序里面的"小程序"部分的执行时间肯定小于看门狗的溢出时间,但是我把以上程序烧进FLASH后,程序并不能正确执行,我看门狗的使用有问题吗?当我关闭看门狗,程序的执行就是正确的!

Fire_cow 发表于 2010-3-11 19:32:36

在WDTCR= 0x0f;前
加上
asm ("wdr");
WDTCR |= (1<<WDTOE)|(1<<WDE);
试试
页: [1]
查看完整版本: ATMEGA8的看门狗使用!!