Appendix C ______________________________________________________ CRC-16 Computation
VAISALA______________________________________________________________________ 133
APPENDIX C
CRC-16 COMPUTATION
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
}
}
}