51单片机把数据存入指定的地址或在读指定地址的数据用C语言怎么写?

单片机C语言

1. 绝对宏:

在程序中,用“#include<absacc.h>”即可使用其中定义的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD
具体使用可看一看absacc.h便知,例如:
rval=CBYTE[0x0002];指向程序存贮器的0002h地址
rval=XWORD[0x0002];指向外RAM的0002h地址

2. _at_关键字

直接在数据定义后加上_at_ const即可,但是注意:
(1)绝对变量不能被初使化;
(2)bit型函数及变量不能用_at_指定。
例如:
idata struct link list _at_ 0x40;指定list结构从40h开始。
xdata char text[25b] _at_0xE000;指定text数组从0E000H开始
提示:如果外部绝对变量是I/O端口等可自行变化数据,需要使用volatile关键字进行描述,请参考absacc.h。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-13
1:用_at_来指定指定的地址.
2:用数据指针来读取指定的地址.
第2个回答  2009-04-13
这个 我知道 用绝对地址,不过我建议你先去看下C的绝对地址,这样对你来说这样就更好的理解
相似回答