crc 校验错误_电气工程师图文讲述RS485中的crc校验,其实也没那么难

我们现在已经搞清楚了crc校验的算法,本文我就向大家具体讲解一下如何把crc校验加入到我们的程序里。

1 、crc校验使用原理

crc校验在程序中运行的原理主要可以分为以下几步。

第一步:主站发送数据前把要发送的数据进行crc校验,将要发送的数据和crc校验的结果一起发送给从站。

第二步:从站接收到主站发送的数据后对除去crc校验码以外的数据再次进行crc校验计算。

第三步:从站把自己算出来的校验码和从主站接收到的校验码进行比对,如果一样则说明接收到的是正确的数据,进行下一步程序。如果不一样则说明接收到的是错误的数据,重新进入等待接收状态。

第四步:如果接收到的是正确的数据,从站将要返回给主站的数据进行crc校验,并将返回数据与校验结果一并发回给主站。

2、程序的编写

此处我就用之前的向V区写入数值的程序来向大家演示如何将上面说的流程融入到整个程序中。这里我们程序的变化都在接收完成中断和子程序Write中大家可以着重看这两部分程序。

图2-1主程序

2942a0ded42b4351a58f1aa130ce2a18.png

图2-1

图 2-2~图 2-4是接收完成中断

42bb0875be89f39e08bad75ea03b4cd1.png

图 2-2

beaa95a971941dd82000f5345034a0a1.png

图2-3

8a2cb995e322ed03906b2eda58706178.png

图 2-4

图 2-5crc校验

47301646689ba2f28c6af0fad9de8858.png

图 2-5

图 2-6~图 2-10子程序Write

d92a6f2b696c42624d23e5ec45dbc988.png

图 2-6

d2727db2b4bcc5fb99f26653624aa9bd.png

图2-7

0ceaf1718cd7cc1349c5730116a827aa.png

图2-8

542599c5b34f2153a1883eb974727e0f.png

图2-9

73afe64bfdf86f2c26068a84a886e0c1.png

图 2-10

图 2-11发送完成中断

f6a327e49048a1e0c4063419158ee644.png

图 2-11

作者:技成培训网(马乐)

版权为技成所有,未经同意盗取必究!

相关优秀文章回顾:

RS485中的crc效验,你知道多少?「系列15」