Hallo, ich möchte den ATMEGA8515 aus dem Power-Down-Mode per Key-Press wecken. Es gibt keine Probleme den Power-down-Modus zu setzen, aber danach bekomme ich den Atmel einfach nicht mehr wach. void sleeptest(void) { double i; sbi(MCUCR,4); sbi(MCUCR,5); do { asm volatile("sleep"); }while(bit_is_clear(PIND, PIND2)); // oder mit: // while(!bit_is_clear(PIND, PIND2)); cli(); wdt_reset(); wdt_enable(3); } Kann jemand helfen? Danke, Rob
Hier findest Du ein Beispiel für einen S2313. Wichtig ist, den Interrupt freizugeben, bevor der Prozessor schlafen geht. Andernfalls kann er nicht aufgeweckt werden. http://www.mino-elektronik.de/power_at90s/powerat90.htm
Sorry, falsches Forum, falscher Link: noch einmal mit 's' wie suchen: http://www.mino-elektronik.de/power_at90s/powerat90s.htm
Danke Michael, ich konnte es inzwischen in C lösen. Trotzdem ein guter Link!
Hallo Robert, würdest Du mir sagen, wie Du das Aufwecken in C gemacht hast? Ich kann meinen 128er zwar schlafen legen, aber das mit dem Wecken klappt nicht. Danke für Deine Hilfe. Gruß Winfried
Hallo Alex, ich hab's Dir per mail geschickt. Es funktioniert per Interrupt. Gruß Robert
...das Problem scheint schon gelöst zu sein, richtig? Anyway...ich kenne mich mit C nicht aus...dh. meine AVR Programme werden in Assembler geschrieben...aber ich glaube das ist in diesem Fall egal. Ich bin vor ein paar Wochen auch mal in so einen Dornröschen-Schlaf gerutscht, aus dem der AVR (in meinem Fall der 2313) nicht mehr heraus wollte. Woran ich dabei nicht gedacht habe, war dass man aus den Sleep Modi, bzw. genauer: dem Power-Down nur mit einem LEVELgetriggerten Interrupt herauskommt - damals hatte ich nur Flankengesteuerte Interrupts eingestellt -> Da lag der Fehler... Wenn man das Datenblatt mit Verstand liest (so, wie ich es damals nicht getan hatte), würde man diesen Fehler nicht machen. Mich wundert es auch, warum das in den meisten Tutorials nicht erwähnt wird, bzw. nicht größerer Beachtung gewidmet wird. Z.B. die Sache mit dem Initialisieren des SRAMs wird ja auch überall als zum Haare-raufen bringender Anfängerfehler tituliert...ich finde, dass dem Thema "Aufwecken über Interrupts aus den Sleepmodi" in Anfängertuts mehr Beachtung geschenkt werden sollte. Naja...learning by doing hat ja auch was ;) H.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.