I/O Port- Pin

Gast #130780
Lesenswert?
• ▲
▼
Hallo zusammen,
Ich bin Anfänger und möchte und möchte an einem Batteriebetriebenen
ATMega 16 vier Taster anschließen. Einer dieser Taster soll mittels
ext. Interrupt0 den Controller aus dem Sleep Mode (Power Save) holen.
Jetzt weiß ich jedoch nicht, wie ich das mit den Widerständen machen
soll. Wenn ich den internen Pullup aktiviere, heißt das doch,dass
permanent ein Strom fließt, oder nicht? Wenn das so ist, muss ich dann
einen Power-Down Widerstand für einen definierten Low-Zustand einbauen
und Vcc auf den Eingang schalten?
Vielen Dank im Voraus.
Gast #130781
Lesenswert?
• ▲
▼
Wenn Du interne Pullup's aktivierst dann schließt Du Deine Taster
einfach gegen GND an, Widerstände brauchst Du dann keine.

In Deinem Programm musst Du dann nur beachten das wenn der Taster nicht
gedrückt ist logisch 1 vorliegt und im gedrückten Zustand logisch 0.

Gruß
Matze
Gast #130783
Lesenswert?
• ▲
▼
Das ist schon richtig. Ich lasse einen Interrupt auslösen, sobald ich
eine negative Flanke am entsprechenden Pin erzeuge. Die Logik ist auch
nicht mein Problem.
Meine eigentliche Frage ist, ob ich dabei nicht zuviel Strom
verbrauche. Im Sleep Mode möchte ich nicht mehr als einige µA
verbrauchen. Laut Datenblatt hat so ein interner Pullup minimal
20KOhm,d.h. es fließen bei 3,3 Vcc schon 165µA in die Schaltung, wenn
sie denn fließen. Aber ich gehe mal davon aus, dass in die Schaltung
maximal 1µA fließt, egal ob mit oder ohne Pullup Widerstand. Bin mir
halt nur nicht ganz sicher.
Gast #130784
Lesenswert?
• ▲
▼
Der Strom fließt doch erst bei betätigtem Taster.

Du nutzt sicherlich als Sleep-Mode den Power-down-Mode (hätte ja sonst
keinen Sinn bei Batteriebetrieb). Kann man da mit der "Flanke" den
AVR wecken? Ich denke, das geht nur mit dem Low-Pegel-Int (oder wie das
Ding heißt). Man muss (denke ich) den Int auf Low-Pegel einstellen,
nicht auf negative Flanke.
Gast #130785
Lesenswert?
• ▲
▼
Ist klar!Manchmal hat man eben ein Brett vorm Kopf.
Danke für die schnellen Antworten.
Ich denke,ich muß den Power Save Mode nutzen, da ich eine RTC im
Hintergrund laufen lasse. Diese arbeitet mit extra Quarz im
Asynchron-Mode. Zum Thema "Flanke" denke ich schon das es geht. Es
ist ja schließlich egal, wie der Interrupt entstanden ist. Wichtig ist
nur das er kommt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.