CRC 练习三. CRC16-Modbus

已锁定

1Shadow1

  • 帖子

    155
  • 精华

    6
  • 被关注

    72

论坛等级:侠士

注册时间:2013-12-11

钻石 钻石 如何晋级?

CRC 练习三. CRC16-Modbus

911

1

2023-08-31 10:13:17

相比于上次的变化:

1.多项式改为了CRC16-Modbus.

2.字节接口数量配置支持1-100 bytes;

3.去掉了被除数的概念,简化了程序结构;

4.命名,注释的整理;

对于计算原理,推荐一篇文章:

https://blog.csdn.net/qq_37708525/article/details/127843036


先上运算结果:





下面是程序截图:


网上有一种非补零的计算方法, 后面理解好了再写一个;


下面是调试过程中的总结:

1.临时变量的结果最好在同一个周期内传递出去;

2.使用Deserialize 输入,输出长度要一样; SCATTER_BLK 更灵活一点;

3.为了方便确认问题,最好先手算一下,然后结合断点可以快速排查;

4.使用多个数组的时候,最重要的是要确认好边界;


最下面是手算的一个结果,此处程序本质上就是为了解决同类问题的手算,减少重复劳动的过程;

后面会做一下收发一体式CRC校验和多多项式兼容校验; 

其实目前这个块已经可以实现16位多项式的自定义公式校验;

-------------------------------------------------------------------------------------------------


CRC 练习三. CRC16-Modbus 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10590条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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