AVR: Wakeup wenn Pin HI oder LO

Gast #4816500
Hallo,

kennt sich jemand näher mit AVR-Controllern aus?

Ist es möglich, ein Wakeup durchzuführen, wenn ein Pin am AVR ein HI- 
oder Lo-Signal erhält?

Die Leitung zum Pin kennt nämlich drei Zustände:
-hochohmig
-HI
-LO

Der Controller soll nur aufwachen, wenn der Zustand HI oder LO eintritt, 
bei "hochohmig" soll er "weiterschlafen".
Gast #4816554
Uwe S. schrieb:
> Hi,
>
> Auf die Frage "Ist es möglich, ein Wakeup durchzuführen, wenn ein Pin am
> AVR ein HI- oder Lo-Signal erhält?" bezogen, ja ein 8Bit AVR µC kann
> dass.
>
> Auch wenn seine Signalquelle drei Zustände kennt.

Wenn das Signal von Low nach High wechselt oder andersrum, stimmt das.
Deswegen heißt die Funktion auch "PinChange". Auf den Zustand triggern 
geht nicht sondern nur auf den Wechsel.
(Firma: matzetronics) #4816558
TGM schrieb:
> Der Controller soll nur aufwachen, wenn der Zustand HI oder LO eintritt,
> bei "hochohmig" soll er "weiterschlafen".

Das geht nur mit einem ADC Eingang, da ein normaler AVR Eingang nur 2 
Zustände kennt, High oder Low. Dafür sorgt ein Schmitt Trigger Eingang.

Aber ein ADC, der auch 'mitten dazwischen' erkennt, kann nicht im Sleep 
Modus abgefragt werden, sondern nur im sogen. 'Noise Reduction' Modus. 
Dabei schläft alles, aber nicht der ADC.
#4816833
Erwin D. schrieb:
> Auf den Zustand triggern
> geht nicht sondern nur auf den Wechsel.

Doch, das geht schon mit den externen Interrupts. Diese können nicht nur 
auf Flanken sondern, beim Atmega328 z.B., auch auf Zustand LOW einen 
Interrupt auslösen. Allerdings ist dieser Interrupt nicht in allen 
Sleep-Modes verfügbar, genaueres ist im entsprechenden Datenblatt 
nachzulesen.

Interessanter finde ich aber eigentlich den Zustand High-Z am Eingang 
des AVRs zu erkennen. Da muss wohl einen gesonderte Logik vor den 
Eingangspin, oder? Zumindest hab ich spontan keine Idee wie ein AVR das 
feststellen kann.
#4816855
Naja, den internen Pullup einschalten.. Dann wird hochohmig zu einen 
High. Nicht unterscheidbar von einem High. Meist verwendet man die 
Sleepmodi fuer Stromsparanwendungen, und dann sollte man keine solchen 
Spielchen bringen. Denn ein Pullup zieht Strom. Ein undefinierter 
Eingangs-Pin zieht auch Strom.

Antwort schreiben

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