ATmega32 Problem SleepMode

OP #4530294
Lesenswert?
• ▲
▼
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 #4530423
Lesenswert?
• ▲
▼
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.
#4530487
Lesenswert?
• ▲
▼
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 #4530497
Lesenswert?
• ▲
▼
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

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