CRC-16 computation - WXT530

WXT530 Series User Guide

Product status
Document code
M211840EN
Revision
G
ft:locale
en-US
Product
WXT530
Document type
User guide

The computation of the CRC is performed on the data response before parity is added. All operations are assumed to be on 16-bit unsigned integers. The least significant bit is on the right. Numbers preceded by 0x are in hexadecimal. All shifts shift in a zero. The algorithm is:


Initialize the CRC to zero. For each character beginning with the address, up to but not including the carriage return (<cr>), do as follows:
{
  Set the CRC equal to the exclusive OR of the character and itself
  for count =1 to 8
  {
    if the least significant bit of the CRC is one
    {
        right shift the CRC one bit set
        CRC equal to the exclusive OR of 0xA001 and
        itself
    }
    else
    {
      right shift the CRC one bit
    }
  }
}