提供一个计算程序
unsigned short getCRC16(unsigned char *ptr, unsigned long len) {
int i;
unsigned short crc = 0xFFFF; // CRC ³õʼ»¯
if (len == 0) return(0);
do {
crc ^= *ptr++;
for (i=7; i>=0; i--) {
if (crc &1) {
crc >>= 1;
crc ^= 0xA001;
} else crc >>= 1;
}
} while (--len);
return(crc);
}
|