打印

外部数据存储器的用法

[复制链接]
2848|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
relaxgirl|  楼主 | 2007-10-24 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
qiushui007| | 2007-10-24 15:43 | 只看该作者

如下

bit   位标量声明               声明一个位标量或位类型的函数
sbit  位标量声明               声明一个可位寻址变量
Sfr   特殊功能寄存器声明       声明一个特殊功能寄存器
Sfr16 特殊功能寄存器声明       声明一个16 位的特殊功能寄存器
data  存储器类型说明           直接寻址的内部数据存储器
bdata 存储器类型说明           可位寻址的内部数据存储器
idata 存储器类型说明           间接寻址的内部数据存储器
pdata 存储器类型说明           分页寻址的外部数据存储器
xdata 存储器类型说明           外部数据存储器
code  存储器类型说明           程序存储器


char xdata work;

使用特权

评论回复
板凳
ayb_ice| | 2007-10-24 16:35 | 只看该作者

这种情况需要指定XRAM的地址范围

因为你的地址不是从0开始的

使用特权

评论回复
地板
relaxgirl|  楼主 | 2007-10-25 15:58 | 只看该作者

外部数据存储器的用法

外部数据存储器其地址是8000-9FFF,如果我定义一变量如char xdata work;
还需不需要XBYTE[8000]=work来指定其地址?请指教,多谢!

使用特权

评论回复
5
hab2000| | 2007-10-25 17:05 | 只看该作者

定义一个外部指针,再赋予地址当数组形式使用即可。

char  code *Point;

Point=0x8000;
Point[0] ——指向8000h
........

Point[255] ——指向80ffh

使用特权

评论回复
6
wxj1952| | 2007-10-25 19:21 | 只看该作者

错了吧?

5楼哪错了?纠正一下。

使用特权

评论回复
7
hab2000| | 2007-10-26 09:04 | 只看该作者

LS 答案在3楼!

使用特权

评论回复
8
relaxgirl|  楼主 | 2007-10-26 10:11 | 只看该作者

外部数据存储器的用法

多谢各位大虾:可是我还是不太明白,我的XRAM的地址范围是8000-9FFF可我还是不太知道怎么定义?烦请大虾指点清楚,不妨举个例子。多谢!

使用特权

评论回复
9
ayb_ice| | 2007-10-26 11:02 | 只看该作者

简单的方法

    unsigned char xdata test _at_ 0x8000;

    test = 0xAA;

使用特权

评论回复
10
hab2000| | 2007-10-26 12:39 | 只看该作者

这么说都不明白,只好去看书了!没辙!

使用特权

评论回复
11
liujie2731| | 2007-10-30 12:08 | 只看该作者

不太明白,我连他使用的编译器都不知道

不是很明白,你用的什么编译器,
我原来使用XC164单片机,KEIL环境的时候,里面自己已经设置了,在链接的时候连接器自己就可以将定义在外部的数据放入指定的地址范围,
先说说你用的什么编译器和开发环境吧,

使用特权

评论回复
12
ldyeah| | 2007-10-30 12:36 | 只看该作者

。。。。。。。。。

使用特权

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

本版积分规则

14

主题

48

帖子

1

粉丝