-
-
Erfahrener Benutzer
Roboter Genie
Gut, nehmen wir das mal Stückchen für Stückchen auseinander.
Zuerst mal die Werte der Makros:
PC0 steht für 0
PC2 steht für 2
Ersetzt man die Makros im Beispiel, sieht das also so aus:
PORTC &= ~( (1<<0) | (1<<2) );
weiter gehts:
(1<<0) ergibt 00000001 binär (1 um null Stellen nach links schieben)
(1<<2) ergibt 00000100 binär (1 um zwei Stellen nach links schieben)
Jetzt steht da also
PORTC &= ~( 0b00000001 | 0b00000100 );
( 0b00000001 | 0b00000100 ) = 0b00000101 (bitweises oder)
Dann kommen wir auf
PORTC &= ~( 0b00000101);
Das Exclusiv-Oder (~) dreht alle Bits um:
PORTC &= 0b11111010;
a &= b ist eine andere Schreibweise für a = a & b also:
PORTC = PORTC & 0b11111010;
Das Ergebnis dieser Operation ist also, dass Die Bits 0 und 2 von PORTC auf 0 gesetzt werden, alle anderen behalten Ihren bisherigen Wert.
Jetzt klar?
Gruß,
askazo
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen