迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2019|回复: 3

C51 编程变量超过256怎么办

[复制链接]

15

主题

38

回帖

250

积分

中级会员

Rank: 3Rank: 3

积分
250
发表于 2019-9-5 16:14:59 | 显示全部楼层 |阅读模式
本帖最后由 dz00055 于 2019-9-5 16:16 编辑

32Kb片内RAM怎么用

本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

15

回帖

403

积分

中级会员

Rank: 3Rank: 3

积分
403
发表于 2019-9-5 20:25:50 | 显示全部楼层
这个32k的数据是只C51的片外RAM,用C语言编程的话,定义变量的时候需要将变量的类型为定义为xdata,或者在keil的设置中为如下图用红色框选的地方的设置,就可以正常使用片外RAM了。Keil中也需要设置片外RAM的其实地址和长度,起始地址为0x8000,长度也为0x8000。


本帖子中包含更多资源

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

x
回复

使用道具 举报

15

主题

38

回帖

250

积分

中级会员

Rank: 3Rank: 3

积分
250
 楼主| 发表于 2019-9-7 08:54:58 | 显示全部楼层
追风的鸟 发表于 2019-9-5 20:25
这个32k的数据是只C51的片外RAM,用C语言编程的话,定义变量的时候需要将变量的类型为定义为xdata,或者在k ...

好的 谢谢 已经解决了
回复

使用道具 举报

45

主题

254

回帖

3561

积分

论坛元老

Rank: 8Rank: 8

积分
3561
发表于 2019-9-16 12:09:41 | 显示全部楼层
追风的鸟 发表于 2019-9-5 20:25
这个32k的数据是只C51的片外RAM,用C语言编程的话,定义变量的时候需要将变量的类型为定义为xdata,或者在k ...


对于内存模式,指的是未用 显式声名的自动变量存储位置.
此处设置对显示声名 data  idata  bdata  xdata  register 存储模式 的变量没有影响.
   keil默认对自动变量 使用small模式,在有溢出风险的情况下不允许编译成功,以及给出自动变量空间不够的错误提示,所以不用过于担心内存问题,真的出了问题你也知道答案,因为错误提示在百度会给出答案

回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-4-9 14:31 , Processed in 0.040368 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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