www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I/O Port- Pin


Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: MathiasM (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und denk dran die Taster zu entprellen sonst wird das nichts.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wenn es wie beim 2313 ist, ist es nicht egal welchen Int
mann nimmt. siehe:
http://www.mikrocontroller.net/forum/read-1-93069.html
Grüße
Quark

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.