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.
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
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.
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.
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.