[an error occurred while processing this directive]
|
typedef union
{
struct tag_MODBUS_PCKT
{
char addr;
char foo;
char data[MAX_DATA_LEN];
char crc;
char currentPacketLen;
} pckt_flds;
char data [sizeof (tag_MODBUS_PCKT)];
} MODBUS_PCKT;MODBUS_PCKT pckt;
Для работы используем
if (pckt.pckt_flds.foo == FOO_PUSSY_CAT)
say_meow();
для подсчета crc
for (int i = 0; i < pckt.pckt_flds.currentPacketLen)
crc = AddCrc (pckt.data[i]);