ATmega32 Problem SleepMode

OP #4530294
Hi Leute,

Hab ein kleines Versuchsprogramm für den SleepMode am ATmega32 
geschrieben.
Es soll 5sek die LED1 aufleuchten, danach soll er in den PowerDown-Mode 
gehen und über Interrupt an INT0 wieder "aufgeweckt" werden und LED2 in 
der ISR aufleuchten (zum test der ISR).

Leider leuchtet die LED1 dauerhaft und es geht nicht in den SleepMode.
Kann mir jemand sagen was ich vergessen habe??

Danke.
Angehängte Dateien:
OP
Hi Sascha

hab das ganze jetzt mal mit einem delay von 1000ms versucht was auf 
jeden fall funktionieren sollte. --> auch nichts.

und liege ich mit meiner Annahme falsch, das der PowerDown Mode den uC 
nicht abschalten sollte und somit auch die LED1 erlischen sollte???

Zudem sollte ja zumindesten bei drücken des Tasters der auf +5V 
liegt(somit Highflanke wenn gedrückt) die ISR Routine greifen und die 
LED2 aufleuchten.
Datenblatt lesen!
Power Down: Only INT2 or level interrupt INT1 and INT0

mit deiner Flanke an INT0 bekommst du ihn nicht wieder wach!

UART/ADC kannst du beim .32 glaube ich noch nicht gesondert deaktivieren 
um noch mehr Strom zu sparen da es das PRR Register dort noch nicht 
gibt. Ein Display kannst du ja über einen Portpin mit Strom versorgen 
wenns nicht zu viel braucht. Zuvor dann alle Datenleitungen auf Low oder 
Input und dann die Versorung auf Low.

Sascha
OP
Sascha W. schrieb:
> Power Down: Only INT2 or level interrupt INT1 and INT0
>
> mit deiner Flanke an INT0 bekommst du ihn nicht wieder wach!
1
GICR |= (1 << INT0);    //Externen Interrupt freigeben
2
MCUCR |= (1<<ISC01) | (1<<ISC00);//Auf Steigende Flanke Interrupt ausführen

Aber wenn ich das richtig verstehe sollte ich mit diesen zwei Zeilen zum 
ersten den Externen Interrupt an INT0 freigeben und mit der zweiten 
Zeile den Interrupt auf eine High Flanke setzen
das passt schon,
aber für das aufwecken aus dem Sleep gelten halt noch ein paar 
Einschränkungen!
Und da nützt es wenig auf Flanke zu stellen wenn diese Betriebsart dann 
für den Zweck nicht geeignet ist.
Siehe Tab14 unter Sleepmodes...

Sascha

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.