当前位置: 首页 > news >正文

一篇文章理解LRC校验:

LRC校验:像给快递里的物品称重(把所有数据“加起来”),收件方称总重,和标注的一致就没问题。优点是简单,缺点是容易漏检(比如两个物品重量错了但总和刚好对)。


LRC校验(纵向冗余校验)是一种简单的数据错误检测方法,核心逻辑就是“数据累加取补”,计算简单、占资源少,适合低速简单的通信(比如串口、RS232)。

用“发数据0x01、0x02”举例,两步走懂全流程:

1. 发送端算LRC校验码(3秒搞定)

规则:所有数据累加 → 用256减累加和(取8位补码),结果就是LRC码。

    •    数据累加:0x01 + 0x02 = 0x03(十进制3);

    •    算LRC码:256 - 3 = 253 → 十六进制0xFD。

然后把“数据+LRC码”一起发:0x01 → 0x02 → 0xFD(LRC粘在末尾)。

2. 接收端校验(1步判断)

接收端收到3个字节后,把所有字节累加:

    •    0x01 + 0x02 + 0xFD = 0x100 → 只看低8位是0;

    •    结果为0 → 校验通过(数据没传错);结果非0 → 校验失败(数据错了)。

一句话总结

LRC就是给数据算个“补数”当凭证,收发端靠“累加和是否为0”判断数据对错,比CRC简单得多,但容错能力弱一些。


LRC校验针对的是8位二进制数据(STM32常用的单字节数据),8位二进制能表示的数值范围是0~255(总共256个值)。用256减累加和,本质是取这个8位累加和的“补码”,这样才能保证“原始数据+LRC码”的累加和刚好是256(低8位为0),方便接收端一眼判断对错。

不管你的数据累加和是多少(比如3、100、200),都固定用256去减,这样规则简单统一,收发端不用额外约定其他数值。

 

http://www.dtcms.com/a/531863.html

相关文章:

  • 石家庄免费网站建设百度收录入口提交查询
  • 专业提供网站建设服务培训学校 网站费用
  • 找做网站公司需要注意什么条件国外网站建设什么价格
  • 阮一峰《TypeScript 教程》学习笔记——tsconfig.json 文件
  • python如何做声音识别
  • 解决Docker磁盘空间不足导致MySQL启动失败
  • 【微服务组件】Springboot结合Dubbo实现RPC调用
  • One-Shot Federated Learning with Classifier-FreeDiffusion Models
  • powershell终端在ide里默认位置不对
  • 探索Linux进程:从理论到实践
  • 正则化机制解析:L2 的约束逻辑与 L1 的特征选择
  • 股票与期货战法理论发展路径
  • 用Python手写一个能识花的感知器模型——Iris分类实战详解
  • MySQL笔记16
  • gRPC通信流程学习
  • 百度站长平台有哪些功能网站做权重的好处
  • 数据科学复习题2025
  • 牛客网 AI题​(二)机器学习 + 深度学习
  • 拆解AI深度研究:从竞品分析到出海扩张,这是GTM的超级捷径
  • HarmonyOS 环境光传感器自适应:构建智能光线感知应用
  • 护肤品 网站建设策划shopex网站经常出错
  • 机器人描述文件xacro(urdf扩展)
  • AI决策平台怎么选?
  • 当 AI 视觉遇上现代 Web:DeepSeek-OCR 全栈应用深度剖析
  • 紫外工业相机入门介绍和工业检测核心场景
  • 商业求解器和开源求解器哪个更适合企业?
  • 比尤果网做的好的网站深圳网站设计精选刻
  • WPF 控件速查 PDF 笔记(可直接落地版)
  • Selenium+Unittest自动化测试框架
  • 设计模式-命令模式(Command)