赞
踩
_at_关键词用于在定义变量时指定变量所在地址。
_at_关键词使用示例如下:
struct link
{
struct link idata *next;
char code *test;
};
struct link list idata _at_ 0x40; /* 定义位于内部RAM低128字节区0x40地址处的 结构体 */
char xdata text[256] _at_ 0xE000; /* 定义位于外部RAM 0xE000地址处的 数组 */
int xdata i1 _at_ 0x8000; /* 定义位于外部RAM 0x8000地址处的 整型变量 */
volatile char xdata IO _at_ 0xFFE8; /* 定义地址为 0xFFE8的外部IO */
char far ftext[256] _at_ 0x02E000; /* 定义位于外部RAM 0x2E000地址处的数组 */
void main ( void ){
link.next = (void *) 0;
i1 = 0x1234;
text [0] = 'a';
IO = 6;
ftext [0] = 'f';
}
在一个.c文件中如上定义,在另一个.c文件中可用如下方法引用这些变量:
struct link
{
struct link idata *next;
char code *test;
};
extern struct link idata list;
extern char xdata text[256];
extern int xdata i1;
extern volatile char xdata IO;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。