-
-
Erfahrener Benutzer
Roboter Genie
@oberallgeier: Wenn ein Port als Ausgang definiert ist, wird er mit dem PORTx-Register an- oder ausgeschaltet. Mit PullUp hat das nix zu tun. Und das PORTC = (1<<5) macht an der Stelle durchaus Sinn, denn dadurch wird die LED, die offensichtlich (wie es sich gehört) Low-aktiv am Controller angeschlossen ist, erst mal ausgeschaltet.
Zu den Eingängen: Da hast Du Recht.
Zur Erklärung für Lightstorm: Du kannst einen Taster auf zwei Arten an den Controller anschließen.
1) Du verbindest den einen Pin des Tasters mit dem Controller, den anderen mit GND. Das ist die übliche vorgehensweise. Damit der Controller bei offenem Taster einen definierten Zustand hat, benötigst Du einen Pull-Up Widerstand (~10k), der einfach zwischen den Eingang des Controllers und VCC geschaltet wird. Alternativ kannst Du auch den internen Pull-Up Widerstand des AVR anschalten, indem Du das entsprechende Bit im PORTx-Register setzt (was Sinn macht, so spart man ein Bauteil)
2) Du verbindest den einen Pin des Tasters mit dem Controller, den anderen mit VCC. Hier gilt das gleiche wie bei 1), nur das Du nun keinen Pull-Up sondern einen Pull-Down brauchst - also einen Widerstand vom Controller-Pin nach Masse. Den musst Du extern beschalten, der AVR hat keinen internen Pull-Down.
Gruß,
askazo
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen