uint16_t calculatecrc(void) { uint16_t crc = 0, i; for (i = 0; i < sizeof(data) / sizeof(data[0]); i++) { crc = crc16_update(crc, data[i]); } return crc; //returns checksum over all elements } uint16_t crc16_update(uint16_t crc, uint8_t a) { int i; crc ^= a; for (i = 0; i < 8; ++i) { if (crc & 1) crc = (crc >> 1) ^ 0xA001; else crc = (crc >> 1); } return crc; }
CRC_IBM
猜你喜欢
转载自blog.csdn.net/zxl2712028/article/details/80263080
今日推荐
周排行