迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2122|回复: 10

【提问】C51开发有的变量用xdata定义 有的用idata,区别是什...

[复制链接]

10

主题

20

回帖

99

积分

注册会员

Rank: 2

积分
99
发表于 2020-8-6 16:29:06 | 显示全部楼层 |阅读模式
看别人的程序,有的变量是xdata定义的,有的是idata  什么区别?
回复

使用道具 举报

0

主题

3

回帖

135

积分

注册会员

Rank: 2

积分
135
发表于 2020-8-6 17:44:14 | 显示全部楼层
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)

xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
回复

使用道具 举报

10

主题

20

回帖

99

积分

注册会员

Rank: 2

积分
99
 楼主| 发表于 2020-8-8 09:14:43 | 显示全部楼层
huangrong0 发表于 2020-8-6 17:44
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用 ...

使用的时候,什么时候用什么类型定义变量?
回复

使用道具 举报

23

主题

293

回帖

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
QQ
发表于 2020-8-12 09:28:38 | 显示全部楼层
数据量比较大的数据,建议用xdata ;;;;;;;固定的数据就用code
运动,编程,热爱生活
回复

使用道具 举报

1

主题

4

回帖

96

积分

注册会员

Rank: 2

积分
96
发表于 2020-11-23 15:51:11 | 显示全部楼层
dingyu000111 发表于 2020-8-12 09:28
数据量比较大的数据,建议用xdata ;;;;;;;固定的数据就用code

你好,xdata定义的数组可以在定义的时候就初始化吗?比如xdata u8 a[10] = {0}; 这样合法吗
回复

使用道具 举报

0

主题

41

回帖

995

积分

高级会员

Rank: 4

积分
995
发表于 2020-11-24 09:09:45 | 显示全部楼层
as_Damon 发表于 2020-11-23 15:51
你好,xdata定义的数组可以在定义的时候就初始化吗?比如xdata u8 a[10] = {0}; 这样合法吗
...

合法的,可以这样定义。
回复

使用道具 举报

23

主题

293

回帖

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
QQ
发表于 2020-11-24 21:31:16 | 显示全部楼层
合法的,用的外部的
运动,编程,热爱生活
回复

使用道具 举报

2

主题

9

回帖

1576

积分

金牌会员

Rank: 6Rank: 6

积分
1576
发表于 2021-1-11 15:46:35 | 显示全部楼层
我想请问下 data  又是那个RAM ?  
回复

使用道具 举报

14

主题

103

回帖

359

积分

中级会员

Rank: 3Rank: 3

积分
359
发表于 2022-2-28 18:42:01 | 显示全部楼层
dingyu000111 发表于 2020-8-12 09:28
数据量比较大的数据,建议用xdata ;;;;;;;固定的数据就用code

您好,我想问下用xdata const定义的这样一个字符串数组,合法吗,是存放在什么区的
回复

使用道具 举报

23

主题

293

回帖

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
QQ
发表于 2022-2-28 21:40:27 | 显示全部楼层
Jstudying 发表于 2022-2-28 18:42
您好,我想问下用xdata const定义的这样一个字符串数组,合法吗,是存放在什么区的 ...

初始化的时候,可以这么搞。。。但是建议你直接用code
运动,编程,热爱生活
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-7 07:38 , Processed in 0.035455 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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