打印

51单片机xdata的问题。。。。大家帮忙!!!

[复制链接]
5907|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
80572892|  楼主 | 2007-4-5 15:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
keil手册上写C51有5种数据类型,其中一种是xdata(片外数据存储器64KB,由MOVX @DPTR访问)
我使用单片机外面扩一片6264(地址从2000H-3FFFH)
那么这个数据类型怎么用呢,如果我定义了uchar xdata b,c;
C51是如何分配存储空间的呢,因为这时C51不知道我这片6264的地址是什么啊。
怎么解决这个问题呢????????
大家帮忙!!!!!!!!!!!!!

相关帖子

沙发
ayb_ice| | 2007-4-5 15:17 | 只看该作者

随便说说

可以绝对定位变量...
另外可以设定地址范围...
看KEIL用户手册...

使用特权

评论回复
板凳
80572892|  楼主 | 2007-4-5 15:33 | 只看该作者

绝对变量定位???

那把上面这句uchar xdata b,c;
改成
uchar xdata b_at_0x2000;
uchar xdata a_at_0x2001;
这样是不是就行了啊啊?????

使用特权

评论回复
地板
ayb_ice| | 2007-4-5 15:43 | 只看该作者

随便说说

对,方法有很多,这是最简单的方法,但不是最好的...

使用特权

评论回复
5
HWM| | 2007-4-5 15:46 | 只看该作者

如果你的EX-RAM起始为0,则就不用考虑外部数据的定位问题

只要外部数据总量不要超过容量就行。

使用特权

评论回复
6
xwj| | 2007-4-5 16:00 | 只看该作者

你仔细看看项目的选项,就知道了!

使用特权

评论回复
7
80572892|  楼主 | 2007-4-5 16:10 | 只看该作者

还有什么好方法啊!!!

ayb_ice说这不是最好的方法,,
那还有什么好方法啊,,,
请指点

使用特权

评论回复
8
ayb_ice| | 2007-4-5 16:12 | 只看该作者

请看6楼

请看6楼

使用特权

评论回复
9
caoyamin2012| | 2014-2-26 16:57 | 只看该作者

使用特权

评论回复
10
coody| | 2014-2-26 18:20 | 只看该作者
最好不要用绝对定位

使用特权

评论回复
11
menfiss| | 2014-2-27 12:02 | 只看该作者
修改startup.a51

使用特权

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

本版积分规则

25

主题

71

帖子

0

粉丝