Hi,
ich möchte gerne meinen mega64 resetten vom Programm aus (verwende
CodeVision), aber es scheint nicht zu tun. Habe eine Funktion
geschrieben, die ja identisch mit dem von CV ausgespuckten Init des WDT
ist. Aber der Reset kommt nicht.
void reset() {
WDTCR = 0x18;
WDTCR = 0x08;
}
Hatte den WDT im CodeGenerator zu Beginn ausgeschaltet. Habe auch
probiert, direkt mit Assembler zu arbeiten; ebenfalls ohne Erfolg.
void reset2() {
//saving regs is not required, device is restarting!
#asm("LDI R31,0x18");
#asm("OUT WDTCR,R31");
#asm("LDI R31,0x08");
#asm("OUT WDTCR,R31");
}
Was hab ich denn vergessen?
Danke, Christoph
Gast
#435637
Verwendest du vielleicht die Delay Funktion? Da wird glaube ich nämlich der Watchdog Timer unter anderem damit zurückgesetzt... Gibt es auch keinen Reset wenn du in eine Endlosschleife springst wo nichts anderes drinsteht?
aaaaahhhh... das wars gewesen :) Muß man mal drauf kommen, dass da noch ein wdr versteckt ist drinnen. Dankeschön...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.