/********************************************
* CRC校验*/
unsigned short GetCrc16 ( char *ptr, unsigned short count ) //其中*ptr为帧首地址,count为(帧长度-2)
{
unsigned short crc, i; //unsigned short 无符号整型,范围是[0,65535]
crc = 0;
while(count--)
{
crc = crc ^ (int) *ptr++ << 8;
for(i = 0; i < 8; i++)
{
if(crc & 0x8000)
crc = crc << 1 ^ 0x1021;
else
crc = crc << 1;
}
}
return (crc & 0xFFFF);
}