[疑难问答] 如何定义变量使其能在指定地址呢

[复制链接]
1600|19
 楼主| nawu 发表于 2022-10-7 12:03 | 显示全部楼层 |阅读模式
如题如何定义变量使其能在指定的地址呢,比如将相关变量存储在sram或者ram或者其他地方的特定的位置上呢
Annie556 发表于 2022-11-26 12:18 | 显示全部楼层
看你是51单片机还是32位单片机,51的话可以用关键字定义的
B1lanche 发表于 2022-11-26 12:20 | 显示全部楼层
没研究过,我就知道关键词可以应用,将变量弄到指定位置的
Carina卡 发表于 2022-11-26 13:24 | 显示全部楼层
你搜索一下xdata,idata还有code,这是关于51内核的程序地址定义的
Estelle1999 发表于 2022-11-26 14:27 | 显示全部楼层
首先要确定是用哪种单片机,然后一般情况都是有关键词修饰的
Charlene沙 发表于 2022-11-26 16:34 | 显示全部楼层
你要是用32位单片机可以用指针的方式定义变量,变量存在你想要的地方
Alina艾 发表于 2022-11-27 07:00 | 显示全部楼层
我也想知道,如果是32位的单片机应该怎么定义呢?
Emily999 发表于 2022-11-27 09:43 | 显示全部楼层
我一般32位的单片机都是直接定义,顶多是全局和局部变量这么操作而已
Charlotte夏 发表于 2022-11-27 10:44 | 显示全部楼层
是不是只有51单片机会考虑变量的存储位置啊?
Betty996 发表于 2022-11-27 12:38 | 显示全部楼层
9这种存储变量的方式,是为了快速调用吗?
alxd 发表于 2022-11-27 15:06 | 显示全部楼层
应该有指定的语法吧,比如指针定义之类的
jtracy3 发表于 2022-12-2 19:21 | 显示全部楼层
按下面格式定义就好了 INT8U TempBuf [1024] __attribute__((at(0X20002000))) = {0}; 不过地址 0X20002000这些要看你自己的片子了
uytyu 发表于 2022-12-2 20:43 | 显示全部楼层
变量就有地址,但是常量不会有地址。
phoenixwhite 发表于 2022-12-2 21:53 | 显示全部楼层
对变量进行声明时可以指定变量的
OKAKAKO 发表于 2022-12-3 09:06 | 显示全部楼层
用指针地址定义,一般51是xdata,idata还有code等
pentruman 发表于 2022-12-3 12:53 | 显示全部楼层
define SRAM (*(volatile unsigned char *)&0x0450)  
maudlu 发表于 2022-12-3 13:33 | 显示全部楼层
int *P;P = 28h;P = 0x1234;这样就把变量存在指定的两个地址单元了
kkzz 发表于 2022-12-4 22:36 | 显示全部楼层
定义一个你需要的变量指针,把那个地址(0X0236还是)什么通过强制格式转换把地址赋给它,然后就可以通过那个指针直接使用那处内存。
Henryko 发表于 2022-12-26 10:45 | 显示全部楼层
有对应的关键词修饰的
Stahan 发表于 2022-12-26 11:00 | 显示全部楼层
可以用指针的方式定义变量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

3308

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部