CRC-16 computation - WXT530

WXT530 Series User Guide

Document code
M211840EN
Revision
F
Language
English (United States)
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
    }
  }
}