SDAA287 March 2026 ADS112C04 , ADS112U04 , ADS114S06 , ADS114S08 , ADS122C04 , ADS122U04 , ADS124S06 , ADS124S08 , ADS125H01 , ADS125H02 , ADS1260 , ADS1261 , ADS1262 , ADS1263 , ADS127L01 , ADS127L11 , ADS127L14 , ADS127L18 , ADS127L21 , ADS131A02 , ADS131A04 , ADS131M02 , ADS131M02-Q1 , ADS131M03 , ADS131M03-Q1 , ADS131M04 , ADS131M04-Q1 , ADS131M06 , ADS131M06-Q1 , ADS131M08 , ADS131M08-Q1 , ADS7028 , ADS7038 , ADS7066 , ADS7067 , ADS7128 , ADS7138 , AFE78101 , AFE781H1 , AFE78201 , AFE782H1 , AFE88101 , AFE881H1 , AFE88201 , AFE882H1 , DAC60504 , DAC60508 , DAC61401 , DAC61402 , DAC61404 , DAC61408 , DAC61416 , DAC70504 , DAC70508 , DAC71408 , DAC71416 , DAC7750 , DAC7760 , DAC80504 , DAC80508 , DAC81401 , DAC81402 , DAC81404 , DAC81408 , DAC81416 , DAC8741H , DAC8742H , DAC8750 , DAC8760 , DAC8771 , DAC8775 , HDC3020 , HDC3020-Q1 , HDC3021 , HDC3021-Q1 , HDC3022 , HDC3022-Q1 , LMP90077 , LMP90078 , LMP90079 , LMP90080 , LMP90097 , LMP90098 , LMP90099 , LMP90100 , TMAG5173-Q1 , TMP114 , TMP126 , TMP126-Q1 , TMP1826 , TMP1827
In this CRC-16-CCITT algorithm, the initial value is set to 0xFFFF. The changes in the code required a new calculation, which can be seen in Figure 2-11.
In this new code, the function is
renamed to crc16CCITTOnes(), identifying the type of CRC and the
initial value. Within the function, the initial value is set to 0xFFFF and the input
data is left shifted by 12 bits to align the most significant bit. The MSB check for
the XOR is changed from 0x80 to 0x8000.
CRC-16-CCITT uses the polynomial
x16 + x12 + x5 + 1, so the XOR changes from
0x07 in the original code to 0x1021. At the end of the function, the CRC code is set
to 16 bits long with a bitwise AND before being returned by the function. In the
body part of the html, correct any changes to the text describing the new CRC
calculation. Then change calculateCRC() to call the
crc16CCITTOnes() function.
Table 2-5 lists the CRC-16-CCITT characteristics and lists several TI devices that use this CRC.
| CRC | Polynomial | Initial Value | Devices | CRC for 0xABC123 |
|---|---|---|---|---|
| CRC-16-CCITT | x16 + x12 + x5+ 1 (0x1021) | 0xFFFF | ADS122C04, ADS122U04 (reflected), ADS131A04, ADS131M04, ADS131B04-Q1, AMC131M03, TMP126, TMP126-Q1 | 0xB095 |
The new CRC-16-CCITT calculator result appears as in the window as shown in Figure 2-12.
Figure 2-12 CRC Result for 0xABC123,
CRC-16-CCITT, Initial Value 0xFFFFFrom Table 2-5, the ADS122U04 uses a reflected version of the CRC-16-CCITT calculation. The following section describes reflection in the CRC calculation (albeit using the CRC-8-OneWire algorithm). Reflection can be added with a simple function for input or output reflection in the CRC calculation.