ATMega324 Power-Down Modus Probleme UART

OP #2682429
Hallo,

wahrscheinlich grad schlechte Zeit, aber ich versuchs trotzdem mal :)

Ich habe einen ATMega324A und empfange über UART im Interrupt Modus 
Zeichen von einem GPS Modul.
Nun versuche ich den Controller in den Power-Down Modus zu versetzen 
mit:
1
SMCR |= (1<<SE);
2
SMCR |= (1<<SM1);

Allerdings wird dann weiterhin die ISR des UARTS aufgerufen.

Habe ich den Controller überhaupt in den PowerDown Modus versetzt, oder 
wird er durch den UART Interrupt einfach wieder aufgeweckt.

Falls er dadurch aufgeweckt wird, ist es dann ausreichend mittels cli(); 
die Interrupts global zu deaktivieren (bzw. den UART RX Interrupt)?

Danke schonmal,
Alex
Gast
> Nun versuche ich den Controller in den Power-Down Modus zu versetzen mit:

Machst Du danach auch noch ein 'sleep'? Mit obigen Befehlen hast Du 
nämlich nur den gewünschten Modus konfiguriert.

HTH
OP
> Machst Du danach auch noch ein 'sleep'? Mit obigen Befehlen hast Du
> nämlich nur den gewünschten Modus konfiguriert.

Nein, wusste ich nicht.
Dann muss ich also die avr/sleep.h auch noch einbinden.
Das SE bit habe ich bereits "per Hand" gesetzt.
Dann muss ich ja nur sleep_cpu() aufrufen und nicht sleep_enable() oder 
sleep_mode()?

PS: Ich will nie wieder aufwachen wenn der Sleepmodus einmal aktiviert 
wurde
Gast
> Dann muss ich also die avr/sleep.h auch noch einbinden.

Müssen ist relativ - asm sleep kannst Du auch direkt absetzen. Es macht 
halt das Leben leichter (gäbe dort neben sleep_cpu() auch noch 
sleep_enable(), sleep_disable() und set_sleep_mode(..)).

> Ich will nie wieder aufwachen wenn der Sleepmodus einmal aktiviert wurde

Ein derartiger Sleep-Modus ist nicht dokumentiert - da hilft nur Strom 
abdrehen.

HTH

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.