CRC Calculation in VB2005
The followings are the source code for various CRC calculations in VB2005. To make the calculation faster, they use CRC tables.CRC Calculation - GitHub
An example usage for calculation of CRC16 CCITT is shown below.
Dim StrIn as String= "String to calculate CRC" Dim CRCVal16 As UInt16 = 0 Dim crc As String CRCVal16 = CRC16_CCITT.Calculate(StrIn) crc = CRC16_CCITT.ToString(CRCVal16)
Initial value for CRC16 CCITT is 0xFFFF. The following example calculate CRC for Str1 and use that CRC value as initial value to calculate Str2.
CRCVal16 = CRC16_CCITT.Calculate(Str1) CRCVal16 = CRC16_CCITT.Calculate(Str2, CRCVal16) crc = CRC16_CCITT.ToString(CRCVal16)
CRC Calculation in C
The followings are the source code for various CRC calculations in C. To save storage, they do not use CRC tables .CRC Calculation - GitHub
An example usage for calculation of CRC16 CCITT is shown below.
#define STRLEN 4 char str[STRLEN]={0x01,0x01,0x00,0x0B}; unsigned char c[2]; unsigned int crc; //Calculate CRC16 CCITT crc=CRC16CCITT_InitialValue(); crc=CRC16CCITT_Calculate(str,STRLEN,crc); CRC16CCITT_ToString(crc,c); printf("CRC16 CCITT = %02X %02X \n",c[0],c[1]);
Online checksum calculator such as the following one may be useful to debug the code.
Online Checksum Calculator