CRC校验程序的疑问

已锁定

抬头望天

  • 帖子

    16
  • 精华

    0
  • 被关注

    4

论坛等级:新手

注册时间:2010-10-16

普通 普通 如何晋级?

CRC校验程序的疑问

513

0

2010-11-03 19:33:36

下面是学习一位朋友的CRC校验程序,但是最后的CRC码高低位是怎么弄的不是很明白,还有就是其中的 LB 3 和 #TEMP2之间的关系
接口:

IN: start_add DInt 起始地址

count Int 校验字节数

DB_No Int 数据块号

OUT: CRC_hi Byte 校验结果高字节

CRC_lo Byte 校验结果低字节

TEMP: TEMP1 Int 0.0 DB块地址寄存器

TEMP2 Int 2.0 校验寄存器

TEMP3 Int 4.0 校验字节数计数

TEMP4 DInt 6.0 地址指针寄存器

TEMP5 Int 10.0 校验位计数



程序代码:

L #DB_No

T #TEMP1

OPN DB [#TEMP1] //打开数据块

L W#16#FFFF

T #TEMP2 //初始化校验寄存器

L #start_add

SLD 3

T #TEMP4 //地址指针寄存器

L #count //装载校验字节数计数初值

lab1: T #TEMP3 //循环1开始

L DBB [#TEMP4]

L LB 3

XOW //低字节异或

T LB 3

L #TEMP4

L P#1.0

+D

T #TEMP4

L 8 //装载校验位计数初值

lab2: T #TEMP5 //循环2开始

L #TEMP2

SRW 1

JP x001 //如果移出位为1跳转x001

JU x002 //否则跳转x002

x001: T #TEMP2

L #TEMP2

L W#16#A001

XOW //字异或

x002: T #TEMP2

L #TEMP5

LOOP lab2 //循环2结束

L #TEMP3

LOOP lab1 //循环1结束

L LB 2

T #CRC_hi //校验结果高字节

L LB 3

T #CRC_lo //校验结果低字节

CRC校验程序的疑问 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。