-
-
Erfahrener Benutzer
Roboter Experte
Moin deable,
mit den Befehlen liegst Du schon ganz gut - nur muss man bei "typischem" Anschluss von einem Taster und einer LED zweimal umdenken:
Dein Taster zieht den Eingang ja nicht auf +5V, sondern auf GND. Das macht man eigentlich immer so, weil die Controller PullUp-Widerstände eingebaut haben, die den Anschluss erstmal auf einen sauberen High-Pegel ziehen. Natürlich könntest Du den Taster auch auf +5V legen und mit einem externen PullDown-Widerstand arbeiten - aber so spart man halt ein Bauteil.
Den Tastendruck erkennst Du also daran, dass PINA.7 = 0 wird (Umdenken Nr. 1).
Bei gedrücktem Taster wird also nur der Teil hinter dem "else" ausgeführt - aber warum ist die LED dann an?
Das liegt darn, dass die LED nicht vom I/O-Port nach Masse geht, sondern von +5V zum I/O-Port! Heißt im Klartext, dss die LED angeht, wenn der Port 0 wird (Umdenken Nr. 2).
Auch hierfür gibt´s einen guten Grund: Der Strom, den ein I/O-Port nach Masse ableiten kann wenn er LOW ist, ist größer als der Strom den er abgeben kann, wenn er HIGH ist. Wenn man also ohne Treiberstufe o.ä. "Endverbraucher" wie LEDs direkt ansteuern möchte, ist es daher ratsam, sie zwischen +5V und dem PORT zu schalten.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen