打印

请问,这个预处理命令什么意思?>

[复制链接]
1720|9
手机看帖
扫描二维码
随时随地手机跟帖
沙发
computer00| | 2007-12-20 11:07 | 只看该作者

ADDR_SRAM_BLE是个地址,往这个地址里面写0。

使用特权

评论回复
板凳
cozy|  楼主 | 2007-12-20 13:30 | 只看该作者

*(unsigned char xdata *)

这是一种什么声明?就是声明外部RAM地址名的吗

使用特权

评论回复
地板
computer00| | 2007-12-20 13:40 | 只看该作者

(unsigned char xdata *)是强制类型转换为这样的指针

前面的*,不用我说了吧?*p我们经常用的。

使用特权

评论回复
5
infree| | 2007-12-20 14:30 | 只看该作者

*(unsigned char xdata *)这种是访问外部RAM的常用的一种方法

虽然使用XBYTE之类的宏也可以访问外部RAM,但不如这种方式灵活。

使用特权

评论回复
6
ayb_ice| | 2007-12-20 19:50 | 只看该作者

XBYTE[ADDR_SRAM_BLE] = 0多省事

使用特权

评论回复
7
lelee007| | 2007-12-20 21:19 | 只看该作者

XBYTE如果不看原文件,鬼知道到底是什么意思

直接定义出来多方便,一看就明白
哈哈

使用特权

评论回复
8
ayb_ice| | 2007-12-21 08:29 | 只看该作者

无语啊

使用特权

评论回复
9
渤海三叠浪| | 2009-4-21 23:24 | 只看该作者

以前一直不想用强制转换!

对于(unsigned char xdata *)ADDR_SRAM_BLE

请问是说 地址ADDR_SRAM_BLE的数据类型是unsigned char xdata呢?

还是地址ADDR_SRAM_BLE的内存的数据类型是unsigned char xdata呢?


应该是 后者吧?? 

使用特权

评论回复
10
computer00| | 2009-4-21 23:43 | 只看该作者

要把它当作一个整体来看待

(unsigned char xdata *)ADDR_SRAM_BLE   它是一个整体,相当于一个指针。

该指针指向的类型为unsigned char xdata型的,指向的地址为ADDR_SRAM_BLE。


相当于
unsigned char xdata * p;
p=ADDR_SRAM_BLE;
*p=0;


(unsigned char xdata *)ADDR_SRAM_BLE就等价于上面代码中的p了。

使用特权

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

本版积分规则

94

主题

178

帖子

0

粉丝