三九宝宝网宝宝百科宝宝知识

请教一下plc与变频器通讯中的CRC校验在8位数据与CRC寄存器异或

02月10日 编辑 39baobao.com

[寄存器的保护与恢复]由于计算机的硬件资源只有一套,当子程序修改了寄存器的内容后,返回到调用它的程序时,这些寄存器的内容也就不会是调用子程序前的内容。这样,子程序修改寄存器内容就可能变成了调...+阅读

变频器的通讯用了CRC校验,那么应该是Modbus RTU协议。如下两图,做了个示范,这个是标准ModBus RTU CRC算法。

1. 起始数据是FFFF(16)

2. 和第一个Byte做异或

3. 右移位

4. 如果移出的位是0,那么继续移位,如果移出位是1,那么要和权数(一个常数)进行异或后再移位。这个常数就是图中用的。

5. 右移位8次以后,第一个Byte完成

6. 剩下的值和下个Byte做异或运算

7. 右移位8次(移出位如果是1,和权做异或运算)

8. 直到所有的Byte都做完这个运算,得到的最后的值就是CRC校验码。

以下为关联文档:

通用寄存器的作用通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这...

专用寄存器的作用16位CPU内部有一个16位的标志寄存器,它包含9个标志位。这些标志位主要用来反映处理器的状态和运算结果的某些特征。各标志位在标志寄存器内的分布如图2.2所示。 151413121110...

推荐阅读
图文推荐