CRC计算哪不对??

已锁定

icat

  • 帖子

    16
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2005-01-21

普通 普通 如何晋级?

CRC计算哪不对??

793

1

2005-01-30 16:00:33

CRC表初始化子程序SBR1
LD sm0.0 //
MOVD &VB3000, AC3 // 装入表指针
MOVD +0, AC2 // 装入索引 index.
FOR VW2000, +1, +256 // 外循环开始
MOVW AC2, AC0 // 值 = index.
FOR VW500, +1, +8 // 内循环开始
SRW AC0, 1 // 移出LS位
LD sm1.1 // 如果移出位是1
XORW 16#A001, AC0 // 则执行异或
next
LD sm0.0 //
INCW AC2 // 索引 (index) +1,
MOVW AC0, *AC3 // 储存表字
+I +2, AC3 // 表指针加2
WDR // 复位看门狗
next


计算CRC/SBR3
LD sm0.0 //
WDR // 复位看门狗
MOVD 16#00000000, AC3 // 清除临时寄存器
MOVD 16#0000FFFF, AC2 // 初始化CRC值为0xFFFF.
FOR VW502, +1, AC0 // 循环开始
MOVB *AC1, AC3 // 取信息字节
XORW AC2, AC3 // 数据与CRC异或,
ANDW 16#00FF, AC3 // 只保留LS字节
SLW AC3, 1 // 把索引置换成字表
+I +3000, AC3 // 加表起始地址
SWAP AC2 // 交换CRC字节,
ANDW 16#00FF, AC2 // 只保留LS字节
XORW *AC3, AC2 // 表值与CRC异或
INCW AC1 // 指向下一段信息字节
next
SWAP AC2 // 返回前交换CRC字节
WDR // 复位看门狗

一调用SBR3就出错啊

信息显示扫苗监视器超时错误~~
CRC计算哪不对?? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33299条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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