微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > AVR mega48,看门狗中断怎么用?

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();                                             //切断电源
}

来人呀 ~~这里的小编要 shi啦

不懂这个,帮你赞上去

后面自己解决了,1,熔丝位不能开自启动。  2.每次中断,要清除中断标志。

小编好学

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top