CRC校验学习笔记

CRC校验学习笔记

在两台设备传输过程中,如果对数据要求较高,需要高的准确性,那么校验是必不可少的。一般用到的校验方式有奇偶校验和CRC校验。
假设我们要用单片机和pc之间进行通信,每次数据不能出错,如果出错,那么这一帧数据直接无效,那么用什么方法可以检验其有效性?
假设数据为111010(数据段)+(校验位)。
下面就上述例子介绍CRC校验:
首先发送端要将数据进行打包处理。就上述而言,每次我们要发送6+n个数据,n为CRC的n位冗余码,将这些数据包打包后构成一帧完整的数据发送出去。
数据处理的方法如下:
注:这里说明一下,如果约定的除数为n为二进制,那么得到的余数规定为n-1位,也就是n-1个冗余码。
假设约定的除数为1101,那么就用111010除以1101得到余数为011,即三位冗余码。
有3为冗余码就要把原来的数据左移3位,即:
2^3*(原数据)
处理之后原来的数据变成了6+3个,即111010011
这就完成了发送端的处理。
接收端:
接受每一帧数据以后,拿这帧数据除以1101,得到余数为0.
111010011/1101=0
校验完毕!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lobmo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值