相比于上次的变化:
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位多项式的自定义公式校验;
---------------------------------------------------
----------------------------------------------