回复:关于CRC16校验码目前的使用什么方法?

WWCWWC

西门子1847工业学习平台

  • 帖子

    9114
  • 精华

    157
  • 被关注

    1474

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2019-12-19 12:11:10

3楼

展开查看
以下是引用404_Notfound在2019-12-18 11:10:40的发言 >楼主

关于目前CRC16位校验码的编程目前有什么使用方法?目前来说使用最多的是哪一种?我知晓的有查表法、计算法?有可能的话各位评论时给出具体的建议,谢谢!

用过CRC和LRC这2种。

CRC的算法:

1)设置CRC存储器为16#FFFF,存储区:AC0 

2)把第一个参与校验的低8位与CRC的低8位进行异或运算,结果存放在CRC 

3)把CRC右移一位,最高位补0,检查最低位b0值 

4)若b0=0,CRC不变,CRC与16#A001进行异或运算,结果存放在CRC 

5)重复3、4两步,直到右移8次,这样第一个8位数均进行处理了,结果存放在CRC 

6)重复2、5步,处理第二个8位数   

LRC的算法:

参与的数据求和,取低字第八位的补码。

校验程序就是根据上面的说明编辑。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10590条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。