wake up from Power-Down-Mode

Gast #41731
Lesenswert?

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
Gast #41735
Lesenswert?

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
Gast #41737
Lesenswert?

...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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren