AVR: Wakeup wenn Pin HI oder LO

Gast #4816500
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

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