AVR mega48,看门狗中断怎么用?
时间:10-02
整理:3721RD
点击:
用LED 试过了,就是无法进入中断,狗饿死后就直接重启了。
求大神指点,如何编写看门狗中断。
//**看门狗设定**//
cli(); //关闭全局中断
wdt_disable(); //关闭看门狗
MCUSR &= ~(1<<WDRF); //清零WDRF 就是清零WDE
WDTCSR |=(1<<WDCE)|(1<<WDE) ; //置位WDE时 需置位WDCE
WDTCSR =(1<<WDIE)|(1<<WDP3); //设定为 溢出中断 及 4s的狗
wdt_reset(); //先喂一把
//////看门狗中断程序
ISR(WDT_vect){
cli();
wdt_disable();
WDTCSR |=(1<<WDCE)|(1<<WDE) ; //置位WDE时 需置位WDCE
WDTCSR =(1<<WDIE)|(1<<WDP3); //置位WDIE 防止系统复位
//shutdown(); //切断电源
}
求大神指点,如何编写看门狗中断。
//**看门狗设定**//
cli(); //关闭全局中断
wdt_disable(); //关闭看门狗
MCUSR &= ~(1<<WDRF); //清零WDRF 就是清零WDE
WDTCSR |=(1<<WDCE)|(1<<WDE) ; //置位WDE时 需置位WDCE
WDTCSR =(1<<WDIE)|(1<<WDP3); //设定为 溢出中断 及 4s的狗
wdt_reset(); //先喂一把
//////看门狗中断程序
ISR(WDT_vect){
cli();
wdt_disable();
WDTCSR |=(1<<WDCE)|(1<<WDE) ; //置位WDE时 需置位WDCE
WDTCSR =(1<<WDIE)|(1<<WDP3); //置位WDIE 防止系统复位
//shutdown(); //切断电源
}
来人呀 ~~这里的小编要 shi啦
不懂这个,帮你赞上去
后面自己解决了,1,熔丝位不能开自启动。 2.每次中断,要清除中断标志。
小编好学