快乐工控人
级别: 探索解密
精华主题: 0
发帖数量: 30 个
工控威望: 121 点
下载积分: 656 分
在线时间: 24(小时)
注册时间: 2010-09-14
最后登录: 2014-07-19
查看快乐工控人的 主题 / 回贴
楼主  发表于: 2010-12-29 11:48
有没有办法把多个DM寄存器里的数据整体移一个字节。比如D0:0011   D1:1122   D2:2233    D3:3344     D5:4455移到D100就变成D100:0000    D101:1111    D102:2222
D103:3333    D104:4444    D105:5500    有没有办法不用一个一个传,因为如果比较多的时候(有100多个的时候)要写很多步。谢谢!
smallnick
do good
级别: 论坛先锋
精华主题: 0
发帖数量: 330 个
工控威望: 1582 点
下载积分: 13569 分
在线时间: 707(小时)
注册时间: 2008-11-16
最后登录: 2021-07-18
查看smallnick的 主题 / 回贴
1楼  发表于: 2010-12-29 13:43
就你的数据格式要先进行高低字节交换,再进行向左移动一个字节。
快乐工控人
级别: 探索解密
精华主题: 0
发帖数量: 30 个
工控威望: 121 点
下载积分: 656 分
在线时间: 24(小时)
注册时间: 2010-09-14
最后登录: 2014-07-19
查看快乐工控人的 主题 / 回贴
2楼  发表于: 2010-12-29 20:32
谢谢,请问一下高低字节交换可不可以一次对多个通道进行,用那一个指令。
yaoxudong
我的QQ:354768692,电话是:13961670034
级别: 略有小成
精华主题: 0
发帖数量: 377 个
工控威望: 455 点
下载积分: 1102 分
在线时间: 68(小时)
注册时间: 2007-08-04
最后登录: 2024-07-09
查看yaoxudong的 主题 / 回贴
3楼  发表于: 2010-12-29 23:00
图片:
我是用1个字节1个字节的交换,有时移位会有冲突,比如通讯,除非你处理好再传过来,不然校验会出错
我的图解是:
bigcg
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看bigcg的 主题 / 回贴
4楼  发表于: 2010-12-30 09:01
有没有试试循环指令?
快乐工控人
级别: 探索解密
精华主题: 0
发帖数量: 30 个
工控威望: 121 点
下载积分: 656 分
在线时间: 24(小时)
注册时间: 2010-09-14
最后登录: 2014-07-19
查看快乐工控人的 主题 / 回贴
5楼  发表于: 2010-12-30 13:38
谢谢各位好心人,用1楼的办法已经解决问题。用的SWAP指令,把高低字节交换,再移两个数字,再交换回来,就OK了。