/********************************************
* 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);
}