Mit dem INT1 aus dem SleepMode

Gast #1066285
Hallo, ich habe folgendes Problem:

Ich möchte meinen Prozessor (ATMEGA32) aus dem Schlafmodus 
(SLEEP_MODE_PWR_DOWN) mit dem Interrupt 1 holen (über einen Taster).
Nun lässt sich der Prozessor nur aus dem Schlaf holen wenn ich den INT1 
so einstelle das ein low-level-of int1 ihn aufweckt. stell ich aber auf 
eine rising oder falling edge ein, geht garnichts. Ich muss jedoch erst 
auf eine falling edge reagieren.

Vergesse ich irgend etwas einzustellen oder geht das garnicht anders?
Angehängte Dateien:
Gast
>Nun lässt sich der Prozessor nur aus dem Schlaf holen wenn ich den INT1
>so einstelle das ein low-level-of int1 ihn aufweckt.

Ja, geht auch nur mit Low Level Interrupt.  Der Grund dafür ist, dass 
der µC im Power Down Modus keinen Takt hat, und ohne Takt er keine 
Flankenänderung detektieren kann.
@ Patrick (Gast)

>so einstelle das ein low-level-of int1 ihn aufweckt.

Ist doch gut, wo ist das Problem?

>stell ich aber auf
>eine rising oder falling edge ein, geht garnichts.

Was logisch ist, wenn man das Datenblatt liest.

> Ich muss jedoch erst auf eine falling edge reagieren.

Warum?

>Vergesse ich irgend etwas einzustellen oder geht das garnicht anders?

Geht nicht anders. Ausser du nimmst einen der neueren AVRs, die haben an 
den meisten Pins einen Pin Change Interrupt, der kann auch bei 
beliebigen Flanken aus dem Power Down Mode wecken.

MFG
Falk
Gast
>Ich muss jedoch erst auf eine falling edge reagieren.

Offensichtlich hast Du noch nicht verstanden, dass Du diese Aufgabe mit 
dem Low Level Interrupt problemlos lösen kannst. Um zu verhindern, dass 
der Level-Interrupt nach dem Aufwachen des µCs fortlaufend ausgelöst 
wird, gibt es ein probates Mittel: Man deaktiviert ihn einfach noch im 
Interrupthandler. Dann kommt das Ganze einem H-->L-flankengetriggerten 
Interrupt gleich.

Antwort schreiben

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