-
-
Erfahrener Benutzer
Roboter Experte
Noch mal zum Verständnis:
PORTA = PORTA | (1<<PA0)
'PORTA = ' -> weise PORTA den folgenden Wert zu:
'PORTA' -> Nimm den aktuellen Wert von PORTA
'|' -> und verknüpfe diesen bitweise oder mit
'(1<<PA0') -> 00000001
Und noch zu den Ports generell:
Wenn man einen Port als Ausgang schaltet, also z.B.
DDRA = 0xff
(das ist übrigens quasi ein DDRA=(1<<PA0)|(1<<PA1)|(1<<PA2)|(1<<PA3)|(1<<PA4)| (1<<PA5)|(1<<PA6)|(1<<PA7), setzt also alle 8 Bit im Richtungsregister)
dann schaltet man über die Bits in PORTA die Ausgänge High oder Low.
definiert man den Port per DDRA=0x00 als Eingang, kann man mit PORTA Pullup-Widerstände für die einzelnen Eingänge aktivieren,d.H. ist nichts angeschlossen, zieht der Pullup-Widerstand den Pin auf High, um das zu ändern, muß der Pin auf GND gezogen werden.
Will man ´den Zustand der Eingangspins abfragen, benutzt man PINA, in PORTA steht nur, für welchen Pin die Pullups aktiviert sind.
Ich hoffe, das hilft Dir noch weiter.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen