#include <avr/crc16.h>
This header file provides a optimized inline functions for calculating 16 bit cyclic redundancy checks (CRC) using common polynomials.
Functions | |
__inline__ uint16_t | _crc16_update (uint16_t __crc, uint8_t __data) |
__inline__ uint16_t | _crc_xmodem_update (uint16_t __crc, uint8_t __data) |
__inline__ uint16_t | _crc_ccitt_update (uint16_t __crc, uint8_t __data) |
|
Optimized CRC-16 calcutation.
Polynomial: x^16 + x^15 + x^2 + 1 (0xa001) This CRC is normally used in disk-drive controllers. |
|
Optimized CRC-CCITT calculation.
Polynomial: x^16 + x^12 + x^5 + 1 (0x8408) This is the CRC used by PPP and IrDA. See RFC1171 (PPP protocol) and IrDA IrLAP 1.1
|
|
Optimized CRC-XMODEM calculation.
Polynomial: x^16 + x^12 + x^5 + 1 (0x1021) This is the CRC used by the Xmodem-CRC protocol. The following is the equivalent functionality written in C.
|