//------------------
typedef struct
{
unsigned char Address;
unsigned char Length;
unsigned char Cmd;
unsigned char Data[DATA_LENGTH_MAX];
unsigned char CRC_H;
unsigned char CRC_L;
} Response;
//-------------------------
Response IO_Buffer[BUFER_LENGTH];
unsigned int temp16;
//--------------------------
unsigned int GetCrc16(unsigned char *buf, unsigned char len)
{
unsigned int crc = 0xFFFF;
while (len--)
{
crc = (crc << 8) ^ Crc16Table[(crc >> 8) ^ (*(buf++))];
}
return crc;
}
//------------------------------
temp16 = GetCrc16((unsigned char*)&IO_Buffer[i], sizeof(Response) - 2);