CRC校验计算子程序

时间:2023-03-16作者:佚名
TITLE=子程序注释
// CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或,之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB),移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码(16#A001)进行 异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。
//   下面为CRC的计算过程:
//   1.设置CRC寄存器,并给其赋值FFFF(hex)。
//   2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
//   3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。
//   4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
//   5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
//   6.重复第2至第5步直到所有数据全部处理完成。
//   7.最终CRC寄存器的内容即为CRC值。
//
// 输入参数:
// 待校验数据区指针,第一个字节为数据长度
// LD0 DataBuff IN DWORD
Network 1
LD SM0.0
MOVW 16#FFFF, AC0 //初始化CRC寄存器
BTI *LD0, LW4 //数据缓冲区第一个字节为数据长度
MOVD LD0, LD6
INCD LD6 //指针指向第一个待处理字节
Network 2
LD SM0.0
FOR AC2, 1, LW4 //开始循环处理每一个字节
Network 3
LD SM0.0
XORB *LD6, AC0 //字节首先与CRC寄存器低位进行异或
Network 4
LD SM0.0
FOR AC1, 1, 8 //移位处理循环,处理一个字节的8位
Network 5
LD SM0.0
SRW AC0, 1 //CRC寄存器右移一位
Network 6
LD SM1.1 //如果移出位为0,则进入下一次循环
XORW 16#A001, AC0 //如果移出位为1,CRC寄存器与多项式16#A001异或
Network 7
NEXT
Network 8
LD SM0.0
INCD LD6 //指针加1指向下一个字节
Network 9
NEXT
Network 10
LD SM0.0
SWAP AC0 //交换CRC寄存器高低字节
MOVW AC0, *LD6 //CRC校验值写入数据区结尾

相关阅读

电容补偿容量怎么算?一个公式+一个案例讲清楚。

"车间功率因数只有0.75,供电局罚了好几千。想装电容补偿柜,但到底要补多少容量?"这是工厂配电中最实用的计算之一。算少了不够用,算多了浪费钱还可能过补。其实就一个公式,三分钟...
2026-06-20

变电站设备的常用防雷保护措施

本文介绍了雷电的形成,下行雷与上行雷的区别,变电站的防雷措施,包括变电站的直击雷防护、变电站对侵入波的防护、变电站的进线防护以及变电站的防雷接地等,下面具体来看下...
2024-03-18

变频器调试的基本方法和步骤

变频器 调试的基本方法和步骤: 一、变频器的空载通电验 1将变频器的接地 端子接地。 2将变频器的电源 输入端子经过漏电保护开关接到电源上。 3检查变频器显示窗出厂显示是否正常...
2023-03-21

晶闸管特性——单向导通

晶闸管SCR是具有四层PNPN结构、三端引出线的半导体器件,外形有两种形式:螺栓形和平板形。 在螺栓形晶闸管中,螺栓一端是阳极A,使用时将该端用螺母固定在散热器上;另一端有两条引线...
2023-03-29
晶闸管特性——单向导通

PLC 的编程语言,打基础!其实它并不难,建议收藏慢慢看

PLC是专为工业控制而开发的装置,其主要使用者是工厂广大电气技术人员,为了适应他们的传统习惯和掌握能力,通常PLC不采用微机的编程语言,而常常采用面向控制过程、面向问题的...
2023-06-13
PLC 的编程语言,打基础!其实它并不难,建议收藏慢慢看

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目