有点笨,看了很多帖子 还是没能解决M88的看门狗问题:应该是溢出了就是不能复位,来这里问
我的初始化:CLI();
MCUSR &= ~(1<<WDRF);
WDTCSR |= (1<<WDCE) | (1<<WDE);
WDTCSR = (1<<WDE) | (1<<WDP2) |(1<<WDP1) | (1<<WDP0);
SEI();
熔丝位的WDTON 没有勾选
现在的现象是:不设置看门狗的话数码管显示正常,设置后主程序里喂狗的话也是显示正常 不喂狗的话数码管亮一下就灭了,然后就没反应,犹如当机。
我想正常的情况下应该是程序刚进去看门狗没有作用前数码管会点亮然后狗溢出然后引发复位,然后数码管应该回再次点亮然后又灭这样一个循环的过程吧?
为什么是这样帮帮我吧! 程序运行的第一件事情就应该是关闭看门狗。
如果你真的有怀疑,应该找一个更简单的程序来测试。 回复【1楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------
谢谢
我的程序里是想用看门狗的,这样需要先关闭看门狗再开启看门狗吗? 是的,程序启动的第一件事情就应该是关闭看门狗。这是数据手册上也提倡的。 好的 我试试 另外 M8的我是这样的 用起没问题
CLI();
MCUSR &= ~(1<<WDRF);
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = (1<<WDE) | (1<<WDP2) |(1<<WDP1) | (1<<WDP0);
SEI(); 找一个更简单的程序来测试。
如果还有问题,把完整工程贴出来
页:
[1]