数码之家

 找回密码
 立即注册
搜索
查看: 4456|回复: 12

[C51] 51单片机,怎样把数组定义在指定地址上?

[复制链接]
发表于 2021-5-31 23:09:30 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 广东梁百万 于 2021-5-31 23:12 编辑

51单片机,C语言,、
怎样把数组的首址定义在指定的XDATA地址上?
比如

我原语句是 unsigned cahr xdata LABC[20]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                                                               0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
因为还有其他数组,这语句编译后的地址不确实位置。

我想把数组LABC的首址定义在 XDATA 的0x0100;位置上,怎么搞?

发表于 2021-5-31 23:15:23 | 显示全部楼层
char xdata text[256]   _at_ 0xE000;   /* 定义位于外部RAM 0xE000地址处的 数组 */

你学废了吗?

打赏

参与人数 2家元 +28 收起 理由
杨雪飞 + 20 精彩回帖
广东梁百万 + 8 精彩回帖

查看全部打赏

回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2021-5-31 23:19:54 | 显示全部楼层
renpeng009 发表于 2021-5-31 23:15
char xdata text[256]   _at_ 0xE000;   /* 定义位于外部RAM 0xE000地址处的 数组 */

你学废了吗? ...

初学不久的,记忆性不好,有些忘记了
回复 支持 反对

使用道具 举报

发表于 2021-6-1 07:24:17 | 显示全部楼层
楼主的问题并不是需要定义在某个地址上,楼主是忘了有一种东西叫指针吧,通过指针访问能自动获取地址的
回复 支持 反对

使用道具 举报

发表于 2021-6-1 11:29:15 | 显示全部楼层
用汇编的思路去做C编程?
回复 支持 反对

使用道具 举报

发表于 2021-6-1 15:11:36 | 显示全部楼层
用c为啥要制定数组的分配地址值? 用指针不就行了?
回复 支持 反对

使用道具 举报

发表于 2021-6-1 18:27:11 | 显示全部楼层
要习惯翻帮助。
回复 支持 反对

使用道具 举报

发表于 2021-6-1 20:34:04 | 显示全部楼层
为毛要放在指定地址
回复 支持 反对

使用道具 举报

发表于 2021-6-1 21:00:51 | 显示全部楼层
ploestar 发表于 2021-6-1 20:34
为毛要放在指定地址

放指定位置应该是方便读取吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-1 21:54:02 | 显示全部楼层
sz1988 发表于 2021-6-1 11:29
用汇编的思路去做C编程?

我汇编过来的,初学C语言,很多思路确实和汇编一样
回复 支持 反对

使用道具 举报

发表于 2021-6-2 07:24:20 | 显示全部楼层
广东梁百万 发表于 2021-6-1 21:54
我汇编过来的,初学C语言,很多思路确实和汇编一样

很多东西编译器都帮你处理好了,不用理会。楼上有同学说的好,用指针访问就好,作为C的精华,掌握好指针很有必要:lol:
回复 支持 反对

使用道具 举报

发表于 2021-6-2 12:42:57 | 显示全部楼层
ploestar 发表于 2021-6-1 20:34
为毛要放在指定地址

UID加密,滚码。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-5-22 08:10 , Processed in 0.156000 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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