如何理解#define XBYTE ((unsigned char volatile xdata *) 0)
(2011-09-13 16:27:37)
标签:
杂谈 |
分类: 分享 |
8051
code
data
idata
bdata
xdata
pdata
特殊资料型态
sbit
sbit
sbit
(注意
sfr
语法
sfr
范例
sfr
指定绝对地址的变量
在单一模块内可以使用下面的语法宣告
[memory_space]
范例
pdata
如果该变量必须为多个模块所使用(Global Variable)则以
抽象指针(Abstract Pointer)的方式在标头档(Header File)定义较为方便。
#define
范例
#define
(注意
ABSACC.H
#define CBYTE ((unsigned char volatile code *) 0)
#define DBYTE ((unsigned char volatile data *) 0)
#define PBYTE ((unsigned char volatile pdata *) 0)
#define XBYTE ((unsigned char volatile xdata *) 0)
#define CWORD ((unsigned int volatile code *) 0)
#define DWORD ((unsigned int volatile data *) 0)
#define PWORD ((unsigned int volatile pdata *) 0)
#define XWORD ((unsigned int volatile xdata *) 0)
隐藏的初始化程序
80C51
main(),而是一个隐藏在
startup.a51
且初始化递归指针。接着
中称为
变量。
在完成上述的初始化程序之后,80C51
#define XBYTE ((unsigned char volatile xdata *)
0)
定义
这样,可以直接用XBYTE[0xnnnn]或*(XBYTE+0xnnnn)访问外部RAM了