( apal | 2022. 11. 28., h – 08:07 )

Ez a bitfield egy elegge osszetett/rendszerkritikus kommunikacios protokoll resze, es a kapcsolodo konyvtarat/konyvtarakat eddig sikerrel, valtoztatas nelkul hasznaljuk mindenfele architekturan - x86, x86_64, ARM Cortex-M*, MSP430, AVRx, ezutobbiba beleertve a sajat soft CPU-s processzorokon/SoC-okon futtatott programokat is. Most nezzuk PIC-en, igazabol ezt a bitfieldet leszamitva az is megy. 

Nem jó, ha shifteléseket, maszkolásokat írsz helyette?

De, vegul ez lesz/lett, belekerult egy plusz reteg plusz egy ENABLE_BITFIELDS jellegu feltetel, par makro, meg egy compile-time assert a sizeof()-ra. Ettol fuggetelnul azert erdekel a dolog hogy ez miert nem megy. Oke, a fenti listabol minden arch gcc-vel (is) fordulhat, kiveve a PIC. Ez vsz szamit...:)

Vagy írd assembly-ben, ilyen kis MCU-ra elég béna dolog C-ben programozni.

Nincs nagy ellenvetesem az assemblyvel kapcsolatban, sot, sok dialektusat gagyogom is - de ennyit azert nem akarnank atirni. Ezekre a problemakra adasulra a gcc eleg jo kodot csinal, mondjuk ugy :)