Keil C51对C语言的关键词扩展之一: _at_

来源:互联网 发布:51聊天软件 编辑:程序博客网 时间:2024/04/20 21:07

 _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;