打印

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

[复制链接]
8331|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
addisonqhd|  楼主 | 2007-11-16 09:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
aolin| | 2007-11-16 09:15 | 只看该作者

为什么要去人为指定地址?

说出你的理由?

使用特权

评论回复
板凳
addisonqhd|  楼主 | 2007-11-16 09:44 | 只看该作者

上位机要访问他的从某个存储单元开始的数据,

上位机要访问他的从某个存储单元开始的数据,而这个首地址是由上位机指定的。所以要定义以下存储单元的首址,这个用汇编语言是可以实现的,不只在C51下怎么实现? 

使用特权

评论回复
地板
computer00| | 2007-11-16 09:48 | 只看该作者

这样搞有什么意义吗?

使用特权

评论回复
5
HWM| | 2007-11-16 09:50 | 只看该作者

LZ:这可不是须指定地址的理由啊。改改思路。

使用特权

评论回复
6
addisonqhd|  楼主 | 2007-11-16 09:51 | 只看该作者

MODBUS协议要指定访问的下位机的首地址

MODBUS协议要指定访问的下位机的存储单元地址,我用汇编是这么做的

使用特权

评论回复
7
tyrone3000| | 2007-11-16 09:55 | 只看该作者

关注,占个位置,我也想知道!

使用特权

评论回复
8
ayb_ice| | 2007-11-16 10:01 | 只看该作者

_at_关键字

或通过段在连接时指定或在汇编中定义变量在C是声明使用。。。

使用特权

评论回复
9
doob| | 2007-11-16 10:13 | 只看该作者

有些是需要指定具体位置来取数据

_at_关键字可以啊!

PUBLIC byte XDATA abADPCM[7]         _at_ 0x1480;
STATIC const byte MCODE abADPCMpara[7] = {0X31,0X00,0X00,0X00,0X01,0x05,0x04};

使用特权

评论回复
10
农民讲习所| | 2007-11-16 11:52 | 只看该作者

乱来

既然使用MODBUS协议要指定访问的下位机的首地址,那么为什么不能让上位机先通过协议取得首地址?

使用特权

评论回复
11
ldyeah| | 2007-11-16 11:58 | 只看该作者

同意农民

先读再指定也一样啊

使用特权

评论回复
12
孤星119| | 2007-11-16 11:59 | 只看该作者

绝对地址定义不要太广啊

绝对地址定义不要太广啊,怎么叫乱来?看看51的绝对地址访问啊,除关键字外,还有库函数可以调用的啊.ABSACC.H

使用特权

评论回复
13
农民讲习所| | 2007-11-16 12:01 | 只看该作者

这是系统设计问题,不是能不能实现

协议重要

使用特权

评论回复
14
现实主义| | 2007-11-16 12:25 | 只看该作者

是不是可以?

C51不熟。
但是一般象在dsp,可以用关键字配合连接命令文件定位变量存放地址。

C51是不是也可以?

使用特权

评论回复
15
孤星119| | 2007-11-16 12:41 | 只看该作者

不同意"农民"

说实在话,我根本不知道"农民"说通过协议取得首地址是什么意思?这跟我把数据放在预定的地址空间,有联系么?你认为先读取首地址,在读取数据,比我把数据固定在某个确定地址,在去读要好么?我不这样认为.

使用特权

评论回复
16
孤星119| | 2007-11-16 12:46 | 只看该作者

而且重复动作太多

"农民"这种方法,说实话,行不通,一次读取,还可以,如果频繁怎么办?每次都获的首地址?(因为,自动分配是随机的.)

使用特权

评论回复
17
aolin| | 2007-11-16 13:27 | 只看该作者

上位机没有任何理由需要去读你的绝对地址处的数据!!

1, 除非你在做仿真器,需要检查内存的值, 否则,上位机没有任何理由需要去读你的绝对地址处的数据!!

2, 假如你在协议中由上位机指定首地址, 那么你的这个通过协议发送过去的首地址一点意义都没有,因为你的下位机的数组首地址是编译时已经确定的,而不是在运行时确定的.

3, 如果是上位机想要访问下位机中的数组中的某个数据,上位机可以指定数组的相对地址呀,并不需要绝对地址.

使用特权

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

就是。上位机发东西给你,你自己把它存了,你自己明白就

没必要关心物理地址。你放哪了,就从哪取回就好。

使用特权

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

呵呵,楼主对MODBUS理解有误。

使用特权

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

学习中

虽然自己还是不太愿意接受楼上的看法.不过感觉楼上是高手,自己还是去多学学,至少我在AD采集时还是采用绝对地址定义.不知楼上是怎么把几K的采集量存起来,而且让上位机来读的.

使用特权

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

本版积分规则

51

主题

78

帖子

1

粉丝