void CRC16_MODBUS(uint8_t *puchMsg, uint16_t usDataLen)
{
wCRCin = 0xFFFF;
while (usDataLen--)
{
wChar = *(puchMsg++);
wCRCin ^= (wChar << 8);
for(crci = 0; crci < 8; crci++)
{
if(wCRCin & 0x8000)
{
wCRCin = (wCRCin << 1) ^ wCPoly;
}
else
{
wCRCin = wCRCin << 1;
}
}
}
crc_hi=wCRCin>>8;
crc_lo=wCRCin;
}