unsigned char xx[] = {0x01,0x5a,0x5a,0x03,0x08,0x2A, 0x00,0x01
,0x00,0xF8,0x00,0xF6,0x57,0x00,0X00,0xE5};
typedef unsigned short U16;
typedef unsigned char U8;
U16 CRC_kjh;
U16 crc16_update(U16 crc, U8 a);
int main()
{
U16 crc,k;
crc = 0xFFFF;
for (k=0; k<1; k++) crc = crc16_update(crc, xx[k]);
CRC_kjh = crc;
}
U16 crc16_update(U16 crc, U8 a)
{
int j;
crc ^=a;
for (j = 0; j < 8; ++j)
{
if (crc & 1) crc = (crc >> 1) ^ 0x8408;
else crc = (crc >> 1);
}
return crc;
}
댓글 없음:
댓글 쓰기