Hallo! Ich habe einen C-Code bei dem ich zwei Oberatoren nicht verstehe. Ich weis nicht was hier ausgeführt wird: #define LED 1 #define SWITCH 2 main(){ TRISC |= (1<<SWITCH) TRISC &= ^(1<<LED) } Kann mir da bitte jemand weiterhelfen?
Es wäre schön zu wissen, welche Operatoren du nicht verstehst!
1 | TRISC |= (1<<SWITCH) |
2 | TRISC = TRSIC | (1<<SWITCH) |
Also der operator << bedeutet das ein Bit also in dem Falle die eins um SWITCH stellen nach links geschiftet wird. Der Operator | bedeutet eine ODER-Verknüpfung. Bei folgendem Code:
1 | TRISC &= ^(1<<LED) |
2 | TRISC = TRISC & ^(1<<LED) |
Hier bedeutet & eine UND-Verknüpfung und das ^ eine X-Oder verkünpfung!
Björn Cassens schrieb: > und das ^ eine X-Oder verkünpfung! Richtig, und deshalb macht die zweite Zeile nicht nur keinen Sinn, sie kompiliert noch nicht mal. Das ^ sollte eigentlich ein ~ sein.
Stimmt, da hast du recht! Habs mir auch gerade gedacht, dass die zweite Zeile dann überhaupt ziemlich sinnlos wäre!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.