37 for (i = 0; i < len; i++)
39 crc_ccitt = UpdateCRC_CCITT(crc_ccitt, buf[i]);
61 uint16_t UpdateCRC_CCITT(uint16_t crc, uint8_t c)
63 uint16_t tmp, short_c;
65 short_c = 0x00ff & (uint16_t)c;
69 tmp = (crc >> 8) ^ short_c;
70 crc = (crc << 8) ^ crc_tabccitt[tmp];
84 void InitTabCRC_CCITT()
89 for (i = 0; i < 256; i++)
92 c = ((uint16_t)i) << 8;
94 for (j = 0; j < 8; j++)
96 if ((crc ^ c) & 0x8000) crc = (crc << 1) ^ P_CCITT;
102 crc_tabccitt[i] = crc;
108 const uint16_t P_CCITT = 0x1021;
111 uint16_t crc_tabccitt[256];
uint16_t GetCRC_CCITT(uint8_t *buf, uint16_t len)
Definition: crc.h:29