****************************参考C语言-MDBUS CRC16****************************
//****************************************************************
//函 数 名: Crc16
//函数功能: CRC16 校验
//输入参数: *pDatas, ucLen
//输出参数: void
//返 回 值: void
//参考文档: void
//创 件 人:
//创建日期: 2013/10/09
//修改历史:
//****************************************************************
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);
}