6 Appendix A - 8-Bit CRC C Algorithm
// 8-bit crc calculation. Initial value is 0.
// polynomial = X8 + X5 + X4 + 1
// data is an 8 bit number; crc is an 8-bit number
int eight_bit_crc(int crc, int data)
{ int
index;
// shift counter
int
fb;
index = 8;
do
{ fb = (crc ^ data) & 0x01;
data >>= 1;
crc >>= 1;
// initialise the shift counter
if(fb)
{
crc ^= 0x8c;
}
} while(--index);
return crc;
}
A CRC calculator for Windows is available free of charge from Quantum Research.
LQ
41
Copyright © 2003-2005 QRG Ltd
QT1100A-ISG R3.02/1105