/***************************************************************************************
- @功能 CRC校验
- @说明
- @参数
- @返回值
- @注
***************************************************************************************/
/CRC16校验/
uint Xmodem_CRC16_Chack(uchar *ptr, uint num)
{
uint crc,i;
crc = 0;
while(num–)
{
crc = crc ^ (int) *ptr++ << 8; //从Packet_data中取一个字节数据,强转为16int,再把低8位移到高8位,赋值给crc
for(i = 0; i < 8; i++)
{
if(crc & 0x8000) //判断数据的最高位数据是否为1
crc = crc << 1 ^ 0x1021; //CRC-ITU
else
crc = crc << 1;
}
}
return (crc & 0xFFFF);
}