WORD crc16(CArray<byte, byte>& aData) {
WORD crcRet = 0xFFFF;
WORD crcClib= 0xA001; //校正数字
for (int i=0; i<aData.GetSize(); i++) {
byte curVal = aData[i];
byte bLByte = (crcRet & 0xFF) ^ curVal;
crcRet = (crcRet & 0xFF00) | bLByte;
for (int j=0; j<8; j++) {
byte nYS = crcRet & 1;
crcRet /= 2;
if (nYS == 1) {
crcRet ^= crcClib;
}
}
}
return crcRet;
}
crc16校验
最新推荐文章于 2022-11-05 15:46:44 发布