(1): 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
* Aktualizacja the CRC dla przepuszczony i otrzymywać dane using the CCITT 16bit * algorytm (X^16 + X^12 + X^5 + 1). * * \ powrót uaktualniony crc16 * \ param crc currrent crc wartość * \ param dane następny bajt który musieć następny w the crc16 * uint16_t crc_ccitt_update (uint16_t crc, uint8_t dane) { dane ^= crc & 0xFF; dane ^= dane << 4; uint16_t ret_val = ((((uint16_t) dane << 8) | ((crc & 0xFF00) >> 8)) ^ (uint8_t) (dane >> 4) ^ ((uint16_t) dane << 3)); powrotny ret_val; }
(1): 2: 3: 4: 5: 6: 7:
Intymny Funkcja crc_ccitt_update (crc Jako uint16_t, dane Jako uint8_t) Jako uint16_t dane = dane Xor crc I &Hff dane = dane Xor dane <>> 8)) Xor DirectCast (dane >> 4, uint8_t) Xor (DirectCast (dane, uint16_t) <>