Hallo zusammen meine Frage befindet sich schon im Betreff. Kann mir jemand dazu eine Antwort geben? Am besten wie man es in C lösen kann.
1 | unsigned char variable = 0x00; |
2 | |
3 | variable |= 0x04; (Bit 2 setzen) |
4 | |
5 | variable &= ~0x04; (Bit 2 löschen) |
6 | |
7 | variable ^= 0x04; (Bit 2 togglen 0->1 1->0) |
oder besser lesbar
1 | variable |= (1<<2); (Bit 2 setzen) |
2 | |
3 | variable &= ~(1<<2); (Bit 2 löschen) |
4 | |
5 | variable ^= (1<<2); (Bit 2 togglen 0->1 1->0) |
noch Fragen?
bzw #define BIT0 (1<<0) #define BIT1 (1<<1) #define BIT2 (1<<2) ... variable |= BIT2; variable &= ~BIT2; variable ^= BIT2;
Jetzt ist doch noch eine Frage aufgekommen! Ich würde noch gerne einzelne Bits einer Variable auslesen! Wenn ich dieses Thema noch Beantwortet kriegen könnte, dann Daumen hoch!
if (var & (1<<bitnr)) { ; } nachtrag: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Ganzzahlige_.28Integer.29_Datentypen http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Allgemeiner_Zugriff_auf_Register http://www.mikrocontroller.net/articles/Bitmanipulation
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.