查看: 782|回复: 0

[技术交流] 【和你一起聊聊NB-IoT】关于LRC校验

[复制链接]

50

主题

409

帖子

1309

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
1309
发表于 2021-2-26 15:39:50 | 显示全部楼层 |阅读模式
今天跟大家聊聊LRC校验的算法


纵向冗余校验(Longitudinal Redundancy Check,简称:LRC)是通信中常用的一种校验形式,也称LRC校验或纵向校验。它是一种从纵向通道上的特定比特串产生校验比特的错误检测方法。在行列格式中(如磁带),LRC经常是与VRC一起使用,这样就会为每个字符校验码。在工业领域Modbus协议Ascii模式采用该算法。
具体算法如下:
1、对需要校验的数据(2n个字符)两两组成一个16进制的数值求和。
2、将求和结果与256求模。
3、用256减去所得模值得到校验结果(另一种方法:将模值按位取反然后加1)。

例如16进制数据:01 A0 7C FF 02
(16进制计算)  求和:01 + A0 + 7C + FF + 02 = 21E  取模:21E % 100 = 1E  计算:100 - 1E = E2
(10进制计算)  求和:01 + 160 + 124 + 255 + 02 = 542  取模:542 % 256 = 30  计算:256 - 30 = 226


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表