发新帖我要提问
12
返回列表
打印

用C51 如何指定数组单元的首地址呢

[复制链接]
楼主: addisonqhd
手机看帖
扫描二维码
随时随地手机跟帖
21
dld2| | 2007-11-16 14:05 | 只看该作者 回帖奖励 |倒序浏览

ls,你的上位机接口是什么接口啊

使用特权

评论回复
22
ayb_ice| | 2007-11-16 14:08 | 只看该作者

能不用绝对定位的最好不用

不过51对这个支持的很好,建议用连接控制命令实现。。。

使用特权

评论回复
23
hab2000| | 2007-11-16 14:26 | 只看该作者

总的来说可以实现,但没有必要!

MODBUS协议里规定的地址只是协议层的,物理层的它是管不了的!不要读死书!
例如:协议规定第5个字节是电压。
      通讯时,只要你把电压放到第5就是了。
      在下位机系统中你爱放在哪里就放哪里!

唉!我的一个同事跟你一样想的!!!

我汗!

使用特权

评论回复
24
computer00| | 2007-11-16 14:49 | 只看该作者

随便申请一个变量,都可以获取到它的地址

对于数组,那更简单了,数组名就是它的地址。

别人发什么数据给你,你只要把那些数据放到这个数组中即可,
而别人读数据时,你只要把数据从原来的地方读出来既可,
根本不用管它地址值是多少。

使用特权

评论回复
25
孤星119| | 2007-11-16 14:57 | 只看该作者

学习了

谢谢.学习了

使用特权

评论回复
26
happystar| | 2007-11-16 18:21 | 只看该作者

re

LZ对modbus理解有误。
在modbus里,需要从机地址,数据地址只是通信协议里的内存变量,而不是你说的ROM地址.
举个例子:你定义主机地址是1,一个数据地址是0x02,如果你把这2个数据存放在flash的某一个地方address1,addrss2;
主机要的是*address1,和*address2.也就是地址里边的内容。
而不是你说的要address1,address2。
就这个意思,我语文不太好。

使用特权

评论回复
27
HWM| | 2007-11-16 18:55 | 只看该作者

楼上:你的语文不错啊,呵呵。说的不错。

使用特权

评论回复
28
addisonqhd|  楼主 | 2007-11-22 00:21 | 只看该作者

这个问题我发完帖子当天就解决了,没想到

这里讨论的这么热闹!
用相对地址就成了!

使用特权

评论回复
29
qihao| | 2007-11-22 09:21 | 只看该作者

难道真有这样定义 交互 方式的! 晕晕!

简直是   听课不发言了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则