Teer schrieb:
> d.h. aber auch
>
>
1 | > #define T1 0x01
|
2 | > #define T2 0x02
|
3 | > #define T3 0x03
|
4 | >
|
5 | > unsigned char tmp = T1 | T2 | T3;
|
6 | >
|
>
> wäre garnicht möglich? Weil wenn es richtig ist, verstehe ich das
> Prinzip.
#define T3 0x03
würde im diesem Fall 0x00000011 ergeben, was das selbe ist wie T1|T2.
Wenn dann müsste man schreiben
#define T3 0x04
denn dann hättest du das nächste bit gesetzt. Sowas macht man gerne für
Masken (Status, Fehlercode etc).
Damit man sich mit den Einsen nicht vertut könnte man es aber auch so
schreiben
1 | #define T1 (1<<0)
|
2 | #define T2 (1<<1)
|
3 | #define T3 (1<<2)
|
4 | #define T4 (1<<3)
|