User's Guide
User Guide
- 44 –
CRC8 sample code:
unsigned char CalcCRC8(unsigned char *Data) // calc 8 bit CRC
{
unsigned char LoopCntr;
unsigned char CRC8;
unsigned char A;
unsigned char i;
CRC8 = 0; // reset CRC8
for (i = 0; i < 8; i++){ // data loop
A = *Data++; // get first data byte
for (LoopCntr = 0; LoopCntr < 8; LoopCntr++, A >>= 1){ // 8 bit loop
if ((A ^ CRC8) & 0x01){ // test bit 0 of (OneWire.Data XOR
CRC8)
CRC8 ^= 0x18; // toggle bits 3 and 4 of CRC8
CRC8 >>= 1; // rotate right CRC8, 1 time
CRC8 |= 0x80; // set bit 7 of CRC8
}else
CRC8 >>= 1; // rotate right CRC8, 1 time
}
}
return CRC8;
19 S2000 PRO/ELITE WEB Graphical User Interface
Blank
20 StepCure
20.1.1 Blank