LabVIEWwilliam hill官网
直播中

旭日日

5年用户 30经验值
擅长:测量仪表 控制/MCU MEMS/传感技术
私信 关注
[资料]

labview CRC16位校验码生成程序

输入任意长度的16进制字符串,输出CRC校验码高字节和低字节。参考了  “mao525159  “   这位用户的程序
QQ截图20200523110130.jpg


回帖(7)

sail

2020-6-16 11:40:15
本帖最后由 CAU2019 于 2020-6-16 17:52 编辑

好像不能用,校验出来的不对吧
3 举报
  • 旭日日: 和你的CRC校验嘛对不上吗?
  • 旭日日: int calcByte(int crc, char b)
    {
        crc = crc ^ (int)b << 8;

        for (int j= 0; j < 8; j++)
        {
            if ((crc & 0x8000) == 0x8000)
                crc = crc << 1 ^ 0x1021;
            else
                crc = crc << 1;
        }

        return crc & 0xffff;
    }

    int CRC16(char *pBuffer, int length)

    {
        int wCRC16=0;
        if (( pBuffer==0 )||( length==0 ))
        {
            return 0;
        }
        for (int j = 0; j < length; j++)
        {
            wCRC16 = calcByte(wCRC16, pBuffer[j]);
        }
        return wCRC16;
    这是arduino原码,和这个生成的是一样的
  • sail 回复 旭日日: 嗯嗯,我试了几次,和我的校验码对不上。后来我又找了一个方法。谢谢楼主了

雀巢燕麦

2020-6-16 12:41:55
感谢楼主分享,好资料呀
举报

CH

2020-9-30 11:34:01
感谢楼主分享,好资料呀
举报

chenzhiwen

2021-3-12 12:49:42
校验字节好资料呀
举报

更多回帖

发帖
×
20
完善资料,
赚取积分