Servus, ich hab da mal (vielleich eine blöde) Frage. Und zwar hab ich an einem Port Pin eine LED hängen die an 5V über einen Vorwiderstand und dann am Port Pin hängt. Muss ich jetzt nachdem ich den Pin als Ausgang konfiguriert hab den Pin auf 1 setzten das die LED aus bleibt oder nicht? Mir geht es da drum ob die LED nachdem einschalten leuchtet oder nicht. Auf was ich hinaus will ist eigentlich wie der Einschaltzustand eines PINs eigentlich ist, nachdem ich ihn als Eingang/Ausgang definiert habe, low oder high?
> Muss ich jetzt nachdem ich den Pin als Ausgang konfiguriert hab > den Pin auf 1 setzten das die LED aus bleibt oder nicht? Wenn du von Eingang auf Ausgang schaltest und den Ausgangspin auf HIGH setzt, ist bei deiner Schaltung (active-low) anschließend die LED wie gewollt aus. Wenn du der LED keine Chance geben willst, auch nur ganz kurz zu zucken, wenn du von Eingang auf Ausgang umschaltest: Dann setzt du den Pin vor dem Umschalten von Eingang auf Ausgang bereits auf HIGH. Technisch machst du das, indem du den internen Pull-Up für diesen Pin aktivierst.
Ja ok so würde es ja gehen, aber ich schalte ja gar nicht von Eingang auf Ausgang, alles was ich am Anfang mache ist DDRB = 0xFF
Andy Andy schrieb: > Ja ok so würde es ja gehen, aber ich schalte ja gar nicht von Eingang > auf Ausgang, alles was ich am Anfang mache ist DDRB = 0xFF Und das ist genau ein Umschalten von Eingang (ist er nach dem Reset automatisch) auf Ausgang.
Andy Andy schrieb: > Ja ok so würde es ja gehen, aber ich schalte ja gar nicht von Eingang > auf Ausgang, alles was ich am Anfang mache ist DDRB = 0xFF Genau damit schaltest du alle Pins vom Port B von Eingang auf AUsgang.
Und die Zustände aller Register nach einem Reset findest du im Datenblatt. Für die Port und Richtungsregister ist das praktisch immer 0. Also Eingang. Schaltest du nun auf Ausgang um, so ist der PORT Register immernoch 0, also hat der Pin Low Pegel. DDRx und PORTx sind ja unabhängige Register. gruß cyblord
Alles klar, dann werde ich dan dem DDRB = 0xFF ein PORTB = 0xFF schreiben um alle LED´s auszuschalten. Besten dank
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.