qq_45578807 2023-07-07 11:18 采纳率: 0%
浏览 17

校验位添加CRC16校验

怎么在校验位添加CRC16校验,对串口实在不太清楚,Parity不是只有none等5种,如果我额外+的话怎么搞

  • 写回答

1条回答 默认 最新

  • 於黾 2023-07-07 13:44
    关注

    crc16是应用层的校验,是对整个数组做的运算
    Parity是传输层的校验,是对传输中每个字节做的
    crc16的计算方法网上有源码
    使用的时候,Parity由于是传输层的校验,你只需要设置参数,不需要再管它
    而crc16,假设你要发送01 03 0000 0001 +crc,一共8个字节,那么你要先对前6个字节做运算,生成2个字节
    把生成的2个字节拼接在最后,一共8个字节,发送
    接收的时候,比如收到的是01 03 02 0001 crc,那么你需要先对前5个字节做个crc,然后判断最后2个字节是否跟你算出来的一致
    不一致就是数据有错误

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月7日