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校验值写入数据区结尾

相关阅读

为什么电气线路中铝线比铜线容易起火?

大家知道铝线起火的危险远大于铜线。 铝线的起火不在铝线自身而在铝线的连接。 与铜线相比, 铝线连接的起火危险大的原因有以下几点: (1)铝线表面易在空气中氧化。凡导体表...
2023-06-11
为什么电气线路中铝线比铜线容易起火?

电容失效带出的应力问题

一起贴片陶瓷电容失效事件,失效模式为短路,电容表面有裂纹,如下图: 对于这颗电容进行分析失效,首先梳理下造成器件(MLCC)的失效各种可能性: 1.物料本身的问题 此物料为日系...
2023-03-31
电容失效带出的应力问题

S71200 PLC与组态王以太网通信步骤(超详细)

说到组态王 如何与我们常用的西门子 S7-1200 PLC 通信 ,这就设计到一个 难题 ,想必大家之前学习通信过组态王与 S7-200SMART PLC 以太网通信,那么 设计到 高端 PLC , 1200PLC 该 如何通信呢...
2024-03-18
S71200 PLC与组态王以太网通信步骤(超详细)

变压器绕组结构及性能特点

有关变压器绕组结构的小知识,变压器的绕组形式,分为圆筒式绕组、层式绕组与饼式绕组等,变压器绕组电路分析,以及变压器绕组的特点,下面具体来看下。 一、变压器绕组形式...
2024-03-18
变压器绕组结构及性能特点

农村小伙用电钻喝西瓜,奇葩方式让人鄙视:闲得蛋疼!

一农村小伙想出了一种新方法吃西瓜,前一秒看还是很普通的,可下一秒这效果让人惊呆了。 小伙先把西瓜上面挖个小洞,然后盖住防止漏水。再用铜管在西瓜侧面掏个洞。 这个洞大...
2023-06-11
农村小伙用电钻喝西瓜,奇葩方式让人鄙视:闲得蛋疼!

热销商品

加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
5.8

欧普led筒灯3w孔灯超薄桶灯吊顶天花灯过道嵌入式洞灯客厅5w

欧普LED筒灯是一款高品质嵌入式照明产品,适用于客厅、过道、吊顶等多种场景。采用优质LED光源,提供3W和5W两种功率选择,光线柔和均匀,显色指数高,有效还原真实色彩。超...
7.45

水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
4.8

170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
4.5

安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
10

网站栏目