独闷闷网

 找回密码
 立即注册
搜索
查看: 3157|回复: 0
收起左侧

[原创] data,bdata,idata,pdata,xdata修饰词各有什么区别,它们的含义是什么?已解答。

[复制链接]
发表于 2014-11-26 17:34:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 jianhong_wu 于 2015-12-4 23:25 编辑

提问:
data,bdata,idata,pdata,xdata修饰词各有什么区别,它们的含义是什么?


解答:
data :片内低128byte ram。
bdata: 片内的位寻址。
idata: 片内高128byte ram。
pdata: 访问范围是片外低256个字节,没有xdata访问空间64K大,一般用xdata。网上也有的人建议不要轻易用pdata,因为pdata在C51中一不下心容易产生bug。
xdata: 可寻址片外64K。
51单片机如果没有特殊命令,RAM只有128位。高128位以及外部ram需要设置才能寻址,高128位RAM为间接寻址的,用idata修饰。用的频繁的变量,在data区,不频繁的,可以放在idata或者xdata。通常应用,data用完了,就用idata,idata用完了,最后再用xdata。而bdata看个人习惯是否喜欢用位变量,有的人不喜欢用位变量因为很多非51单片机不支持位变量。而pdata通常很少用。默认数据存储模式还要看你编译器设置,large就是xdata ,外部存储,compact就是页访问,也是外部存取,small就是直接寻址区,只有128字节。直接寻址比间接寻址快,要衡量。间接访问是2个周期。直接访问是1个周期.




乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-11-11 12:37 , Processed in 0.172937 second(s), 18 queries .

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