Moin
Beim Aufräumen von nem alten Projekt habe ich folgendes geändert ohne es
damals getestet zu haben:
Es soll eigentlich nur ein unsigned char, welches vorher über den uart
in ein data array gelesen wurde, geparst werden...
1 | unsigned char messageType = (unsigned char) *(data+COLOR_MESSAGE_HEADER2_LOCATION);
|
2 | switch (messageType)
|
3 | {...
|
Wobei data
1 | unsigned char data[MESSAGE_SIZE_COLOR];
|
und
COLOR_MESSAGE_HEADER2_LOCATION wie folgt aussehen:
1 | #define COLOR_MESSAGE_HEADER2_LOCATION 1
|
Jetzt seh ich, dass messageType immer 0 ist - versteh allerdings nicht
ganz wieso. Ich vermute, dass liegt an der Pointerarithmetik...
Das kann doch so gar nicht funktionieren, weil
COLOR_MESSAGE_HEADER2_LOCATION gar nicht der Größe eines unsigned char
entspricht, oder???
Muß ich in dem Define die Bytegröße von nem unsigned char angeben??? Wie
mach ich das...