Hallo Antropath,
hmmm - Du bist einfach nicht über den Link zur Bitmanipulation in Deinem Tutorial gestolpert:
http://www.mikrocontroller.net/articles/Bitmanipulation
Dort sollte alles viel besser erklärt sein, als ich es könnte. Ich hoffe, dass Du es damit dann verstehst.
Ach so - ja: ein Port hat acht Pinns. Das gilt theoretisch, praktisch sind nicht bei allen Controllern immer alle Portpins verfügbar. Diese Portpins sind duchnummeriert, wie es die Informatiker machen, also von ein 0 bis 7. Daher kann man "en bloc" - also alle Pinns auf einmal so definieren:
Damit werden die Portpins PORTB0 bis PORTB7 definiert und das zugehörige Datenrichtungsbit DDRB an der gewünschte Stelle gesetzt. Deine Codeschnippsel betreffen die Manipulation EINZELNER Bits. Die ist auch möglich - und manchmal auch zwingend erforderlich.Code:// Pins/Ports als Ein- (0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren // A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp DDRB = 0b10011111; // siehe aktuell oben oder Fortschritt/R2D2 PORTB = 0b01100000; // und Port/Pull Ups (1) aktivieren
Übrigens kannst Du mit dieser Bitmanipulation nicht nur einzelne Portpins "bearbeiten". Die Zuweisung eines 1-Byte-Wertes ist damit auch möglich. Das ist aber (glaube ich) auch im Tutorial erklärt.






Zitieren

Lesezeichen