Hallo Rola und Maro,

kurze Erklärung für die 0x03 Geschichte:

In der Anleitung zur CC2 Seite 57 werden die Formate der Zahlentypen erklärt:
0x03 ist eine Hexadezimalzahl (dezimal: 3). Hinter dem x stehen die Zahlen 0..9 und die Buchstaben A..F (=Werte: 10..15). Der Dezimalwert 255 ist dann 0xFF.
Zahlen mit 0b01000001 (dezimal: 65) sind Binärzahlen, hinter dem b kommen also nur Nullen und Einsen (Bits).
Egal wie man das schreibt, kann man mit AND und OR sog. Maskierungen durchführen:

AND dient dabei zum Löschen von Bits:
WERT=WERT AND 0b00000011
... verknüpft WERT mit der Maske dezimal 3. Damit werden alle Bits von WERT auf 0 gesetzt, die in der Maske auch 0 sind. Das sind hier die Bits 2..7 (Zählung 0..7). Das ist genau das Beispiel im Programm mit:
WERT=WERT AND 0x03
Hier werden nur die Bits 0 und 1 "durchgelassen", d.h. sie behalten DEN Wert (0/1), den sie auch in WERT haben.

OR dient zum Setzen von Bits:
WERT=WERT OR 0x03
... verknüpft WERT mit der Maske dezimal 3. Damit werden alle Bits von WERT auf 1 gesetzt, die auch in der Maske 1 sind (hier Bits 0 und 1). Die anderen Bits bleiben so, wie sie in WERT waren.

Gruß Dirk