В общем, структура: 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.
|