这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » RAM C语言中,怎么定义一个RAM空间?

共2条 1/1 1 跳转至

RAM C语言中,怎么定义一个RAM空间?

院士
2006-09-17 18:14:16     打赏
RAM C语言中,怎么定义一个RAM空间?



关键词: 言中     怎么     定义     一个     空间    

院士
2006-12-22 22:43:00     打赏
2楼
问 我AD采样,想把每次采集到的数据依次存储在RAM中(230H--300H)中
用C,怎么把这个空间保留下来啊? 1: 在230H-300H定义个指针变量,把采样数据赋给它就可以了吧,偶也是新手,只是这么想的
如:
P=(int)*0x0230;
*P=采样数据;
要是想错的话不好意思哦. 2: 呵呵
这个我也会,我的意思你没有明白
我意思是系统不能分配一个区域给变量
你这么定义是再知道内存没有分配的前提下才可以用的
那我用200--230H不能分配,你怎么做呢? 3: 定义一个数组,再把数组的起始地地址定义在230H 4: 斑竹:为什么要把数组定义到RAM中呢,RAM中不是编译器自动分配地址吗,这样有什么用,是不是要把某段的RAM当成FLASH使用?一直不明白这个问题。请高手指教! 5: 是个方法
因为系统给数组分配地址,就是分配的RAM地址
但是有一个问题还想请教就是
我怎么指定数组的首地址

本来C是不需要考虑这个问题的
问题是,我必须把采集到的数据保存在指定的RAM
就从230H开始 6: 如下:
__no_init char alpha[16] 0x0230; 7: 谢谢版主,要的就是这句话
可不可以这样理解,编译器读到这句话后,就认为从230H开始的16个字是不能拿来分配变量的

还想弄清除
这句话的位置是:
int i,a,b,c;
__no_init char alpha[16] 0x0200;
这样是不是就不对了啊?
必须在定义变量之前写__no_init char alpha[16] 0x0230;

是这个样子吗?版主 8: int i,a,b,c;
__no_init char alpha[16] 0x0200;
可以这样定义的 9: 引用: 10: 可以参考如下方法:
http://www.lierda.com/bbs/showthread.php?t=11974 11: 感謝板主題工

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]