Gerhard schrieb:
> TTC hat dort 5 Bit (oder fm 2 Bit).
Womit hast du das festgestellt?
Davon abgesehen, dass bei Bitfeldern so ziemlich alles
implementierungsspezifisch ist (sprich: die Dokumentation deines
Compilers muss dir erklären, was sie wie konkret tut): wenn ich deine
Bitanzahlen zusammenzähle, komme ich auf 24, aber in der Union hast
du eine 32-Bit-Zahl dagegen stehen. Das geht irgendwie nicht auf.
Du solltest das Bitfeld auf jeden Fall vollständig auscodieren, damit
die Sache Sinn hat.
Der Standard gestattet durchaus auch, dass der Compiler ein “padding”
zwischen den Bitfeldern anlegt, wenngleich ich nicht vermuten würde,
dass das beim MSP430 irgendwie zutrifft. Ggf. kannst du nochmal
probieren, ob statt “unsigned int” für die Bitfeld-Typen ein “uint8_t”
(oder “unsigned char”) eine Änderung bringt.