Data Sheet
Copyright © Roboteq Inc. 2018. All Rights Reserved. 16
u16 modbus_calcCRC(const u8 *p, int length) {
u8 hi = 0xFF;
u8 lo = 0xFF;
while (length--) {
u8 i = lo ^ *p++;
lo = hi ^ modbus_crc_hi[i];
hi = modbus_crc_lo[i];
}
return (u16) (hi << 8) | lo;
}
u8 modbus_calcLRC(u8* inputBuffer, int length)
{
u8 sum = 0;
for(int i = 0; i < length; i++)
{
sum += inputBuffer[i];
}
return ~sum + 1;
}