В общем, структура:
struct RX_BUFER{
unsigned char rxData[RX_BUFFER_SIZE0];
unsigned char index;
unsigned char errorFrame:1;
unsigned char errorCrc16:2;
unsigned char errorComand:4;
unsigned char firstByte:5;
unsigned char readyReceiveByte:6;
unsigned char buferOverflow:7;
unsigned char mesagCompl:8;
} rx_bufer;
Вроде все нормально работает но, например
rx_bufer. errorFrame = 1
rx_bufer. errorCrc16= 1
rx_bufer. errorComand = 1
rx_bufer. buferOverflow = 1
rx_bufer. mesagCompl = 0
Генерит длинный код, в место одной инструкции asm sbr r16, const, в результате откомпилированный код растет на глазах!
Как правильно работать с битами в CodeVision на Си, чтоб код был эффективным, а не раздувался от инструкций которые нагенерил CodeVision.