独闷闷网

标题: data,bdata,idata,pdata,xdata修饰词各有什么区别,它们的含义是什么?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-11-26 17:34
标题: data,bdata,idata,pdata,xdata修饰词各有什么区别,它们的含义是什么?已解答。
本帖最后由 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个周期.









欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2