找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2580|回复: 5
打印 上一主题 下一主题
收起左侧

单片机怎么将变量分配到指定的地址当中?

[复制链接]
回帖奖励 20 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:825544 发表于 2020-10-4 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如我们做有些通迅的时候,终端APP来读取单片机的地址,那么有的是从0X8000开始,那我们怎么把定义的这些变量存在0X8000时面呢,我们一般定义数组都是从0X00开始,也都是满足不了,那怎么办
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:728202 发表于 2020-10-4 16:49 | 只看该作者
同问,这个我也想了很长时间了。
回复

使用道具 举报

板凳
ID:155507 发表于 2020-10-4 19:24 | 只看该作者
你可以这样

#define Table      (*(unsigned char volatile xdata *)0x8000)

这样用
Table= 0x20;
回复

使用道具 举报

地板
ID:825544 发表于 2020-10-5 11:43 | 只看该作者
angmall 发表于 2020-10-4 19:24
你可以这样

#define Table      (*(unsigned char volatile xdata *)0x8000)

这只是定义了一个变量是吗,是不是然后再把table这个变量来定义一个数组,那么数组的起始位就是0X8000是吗?
回复

使用道具 举报

5#
ID:275826 发表于 2020-10-6 10:15 | 只看该作者
应用绝对地址访问
回复

使用道具 举报

6#
ID:822755 发表于 2020-10-7 11:40 | 只看该作者
编译器有指定地址的用法,可以查看编译器的用户手册
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表