Gast
#394277
Hallo, ich habe folgendes Problem und benötige eure Hilfe. Der Watchdog ist aktiv und resets werden durchgeführt. Da der Baustein in den sleepmodus versetzt werden soll, muß ja bekanntlicher weise der WDTimer ausgestellt werden. Dieses klappt auch. Nur dann das erneute Einstellen des WD klappt nicht. Ich will ihn so einstellen, das er nicht gleich einen Reset durchführt, sonder das Programm weiter abläuft: Controller:Atmega88, CodeVision AVR. Hier meine beiden Routinen WDT_on, WDT_off //****************************************************************** void WDT_off(void) { #asm("cli") //Interrupts aus #asm("wdr") MCUSR&=0xf7; //clear WDRF in MCUSR register WDTCSR|=0x18;//logisch 1 in WDCE u. WDE im WDTCSR register WDTCSR=0x00; #asm("sei") } //******************************************************************* void WDT_on(void) { #asm("cli") //Interrupts aus #asm("wdr") MCUSR&=0xf7; WDTCSR=0x38; WDTCSR=0x28; #asm("sei") } //*******************************************************************