//参考如下C代码,Modbus RTU CRC!
UINT16 Crc16(UCHAR *pDatas, UCHAR ucLen)
{
UINT16 ui16Crc = 0XFFFF;
UCHAR i;
while (ucLen--)
{
ui16Crc ^= *pDatas++;
for (i = 0; i < 8; i++)
{
if (ui16Crc & 0x0001)
{
ui16Crc >>= 0x01;
ui16Crc ^= 0xa001; //多项式
}
else
{
ui16Crc >>= 0x01;
}
}
}
return (ui16Crc);
}