1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
* CRC voor overgebrachte en ontvangen gegevens die CCITT gebruiken met 16 bits * algoritme (X^16 + X^12 + X^5 + 1). * * \ winst bijgewerkte crc16 * \ param crc currrent crc waarde * \ param gegevens volgende byte die in crc16 zou moeten worden omvat */ uint16_t crc_ccitt_update (uint16_tcrc, uint8_t- gegevens) { gegevens ^= crc & 0xFF; gegevens ^=- gegevens << 4; ret_val uint16_t = ((((uint16_t) gegevens << 8) | ((crc & 0xFF00) >> 8)) ^ (uint8_t) (gegevens >> 4) ^ ((uint16_t) gegevens << 3)); ret_val terugkeer; }
1: 2: 3: 4: 5: 6: 7:
Privé Functie crc_ccitt_update (crc als uint16_t, gegevens als uint8_t) als uint16_t gegevens = gegevens Xor crc en &Hff gegevens = de gegevens van gegevensXor <>> 8)) Xor DirectCast (gegevens >> 4, uint8_t) Xor (DirectCast (gegevens, uint16_t) <>