CRC16-MODBUS校验 无输入、无输出翻转,高字节在前

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;

你可能感兴趣的:(c++,开发语言,单片机)