51 单片机 data idata xdata 使用

本文介绍如何在51单片机开发中合理选择data、idata和xdata存储区域,以解决代码ROM超限问题。通过配置Keil和理解不同存储区的读写速度,学习如何调整变量定义以最大化内存利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

51 单片机 data idata xdata 使用

简介

该篇文章只提使用,先不详细讲解,使用的原因就是自己写的代码 ROM 超了!!!新建工程默认使用 data
Keil 配置如下图

测试芯片FlashRAM
STC15W408AS8Kbyte512byte

data idata xdata 读写速度

类别读写时钟读写速度
data1
idata2
xdata3

编译器配置

编译器配置默认 data

如下图所示
在这里插入图片描述
当配置存储模式默认配置为 data,

  • 数据是存储在 data 区中定义char Number,相当于 char data Number(此时编译之后的data区最大 128byte)
  • 数据是存储在 idata 区中定义char idata Number(当一些数据这样定义后,编译之后的data可以超过 128byte)
  • 数据是存储在 xdata 区中定义char xdata Number(当一些数据这样定义后,编译后将存储到 xdata 区)

编译器配置默认 xdata

在这里插入图片描述
当配置存储模式默认配置为 xdata,

  • 数据是存储在 xdata 区中定义char Number,相当于 char xdata Number
  • 数据是存储在 idata 区中定义char idata Number
  • 数据是存储在 data 区中定义char data Number
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Stark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值