CRC-CCITT (XModem)
用于文博平台的CRC16校验
u16 CRC_XModem(__IO u8 para[])
{
u16 crc = 0x00;
u16 polynomial = 0x1021;
u16 index,i;
u8 b;
u16 bit;
u16 c15;
u16 len;
len = (para[2]-2);
for(index = 0 ; index<len; index++)
{
b = para[index];
for(i = 0; i < 8; i++)
{
bit = (((b>>(7-i))&1) == 1);
c15 = (((crc>>15)&1) == 1);
crc <<= 1;
if(c15 ^ bit)
{
crc ^= polynomial;
}
}
}
crc &= 0xffff;
return crc;
}