-
-
Erfahrener Benutzer
Roboter-Spezialist
#define PHASE_A (PINA & 1<<PA1)
if( PHASE_A )
bedeutet, dass das Controllerbeinchen PA1 auf 0 oder 1 getestet wird. Liegt an PA1 eine 1 dann ist die IF Abfrage wahr bei 0 ist sie falsch.
Und bevor als nächstes die Frage nach new ^= 1; kommt.
Das bedeutet new = new^1; Wobei ^ ein bitweises Exclusivoder ist.
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
sast
PS: zu PINA & 1<<PA1
1<<PA1 heißt, dass eine 1 um PA1 Stellen nach links geschoben wird. Nehmen wir an, das PA1 mit 5 definiert wurde (nur zum Verständnis), dann wird die 1 also um 5 Stellen nach links verschoben. Nun wird 00100000 mit PINA bitweise verundet und wenn da bei Bitposition 5 auch eine 1 steht ist PHASE_A == 1. Das ist eigentlich schon alles.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen