Pololu Qik 2s12v10 User Manual
Page 31

}
}
unsigned char CRC(unsigned char message[], unsigned char length)
{
unsigned char i, crc = 0;
for (i = 0; i < length; i++)
crc = CRCTable[crc ^ message[i]];
return crc;
}
int main()
{
unsigned char message[3] = {0x83, 0x01, 0x00};
int i, j;
GenerateCRCTable();
message[2] = CRC(message, 2);
for (i = 0; i < sizeof(message); i++)
{
for (j = 0; j < 8; j++)
printf("%d", (message[i] >> j) % 2);
printf(" ");
}
printf("\n");
return 0;
}
Qik 2s12v10 User's Guide
© 2001–2012 Pololu Corporation
6. Cyclic Redundancy Check (CRC) Error Detection
Page 31 of 33