AVR_WDG 问题解决!
0赞
发表于 3/8/2012 5:14:36 PM
阅读(3163)
由于项目使用的是电池供电,需要使设备进入休眠模式,来省电。
avr提供好几个休眠模式,使用省电模式的话,在进入省电模式后,电流为0.2MA,唤醒后电流为2.2MA,这样还是无法解决电池长时间供电的问题。
决定使用掉电模式WDG唤醒。
WDG定时为32MS,但是程序跑起来发现怎么多了一个72MS的波形出来,如下图。
重新设置一下WDG,在改变WDG定时时间的话,要先运行该语句
WDTCSR|=(1<<WDCE)|(1<<WDE);
否则是无法进行定时的。
中断服务程序,要重新置位WDG中断标志,该标志在中断进入时被清零。如果不置位的话,下个超时到来时,就直接复位了。
WDTCSR |= (1<<WDIE);
WDG问题解决项目就快完成了。
胜利的奸笑-哈哈哈!

