ATMEGA644看门狗时间与datasheet严重不同
644芯片,看门狗就算设置到最大值8s,仍然在约0.5s就会饿死。特别是写EEPROM的时候,示波器测出,写EEPROM块的时候,很耗时,写了约0.5s,看门狗就饿死重启了代码如下
void WDT_Init(void) // 看门狗初始化
{
CLR_BIT(MCUSR, WDRF);
WDTCSR = ( (1 << WDCE) | (1 << WDE) );
WDTCSR = (1 << WDE) | (1 << WDP3) | (1 << WDP0); // 溢出时间~8s(Vcc = 5V)
}
我使用的是内部8M频率,无外部晶振
大虾谁知道怎么回事?看门狗设置已经按照datasheet了啊 你这个应该是1S的样子吧,估计这个8S应该是在1M时钟的时候才能达到的,默认是8M8分频,实际是1M的。 对对对,应该差不多是1s,不是0.5s。
哇,那岂不是最多饿狗时间是1s左右?也太短了吧?
前提:我必须用片内8M频率
有办法把饿狗时间拉到最长吗? 时钟分频。 我用熔丝位选定片内8M,这种情况下时钟分频,还有看门狗的时钟分频。怎么写代码呢 这个貌似数据手册上写的太明白了,连多长时间都写了。我曾今用秒表卡过,差不多 我一楼写的就是按照数据表写的C。问题就是不对啊 却是会有这种情况,我用的是mega128,目前也在思索这个问题,弄明白了来告诉楼主
页:
[1]