unsigned int crc_cal_value(uint8_t *data_value, uint8_t data_length) {
int i;
unsigned int crc_value = 0xffff;
while (data_length--) {
crc_value ^= *data_value++;
for (i = 0; i < 8; i++) {
if (crc_value & 0x0001)
crc_value = (crc_value >> 1) ^ 0xa001;
else
crc_value = crc_value >> 1;
}
}
return crc_value;
}
取高位字节=crc_value & 0xFF
取低位字节=(crc_value>>8) & 0xFF