宁夏回收西门子S7-1200模块信息

供应商
上海地友自动化设备有限公司
认证
品牌
西门子
型号
诚信
产地
德国
手机号
18721545542
经理
方祖付
所在地
上海市金山区枫泾镇朱枫公路8678弄 8134号
更新时间
2023-12-07 10:10

详细介绍

宁夏回收西门子s7-1200模块信息宁夏回收西门子s7-1200模块 程序注释
//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

回收西门子S7-1200模块

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话