bdata->data->idata 都是单片机内部RAM。访问的指令不同而已, 从汇编的角度看,用的访问方式也不同。
xdata 是单片机通过地址总线外扩的RAM,古时候都是放在单片机外部的,现在也内置了。
idata的确是通过指针访问的,地址和data的128byte是重叠的。idata和特殊寄存器的高128byte也是重复的。单片机通过访问方式来区分他们。如果用C语言写,定义为idata即可,编译器自己会帮你搞定。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
data和idata在低128字节就是一样。data里面还有bdata,建议看看马忠梅的关于单片机C语言的书。
keil附录的帮助文档也可以看看,类型只是说明物理地址,我还曾经用过idata外面再扩展的cdata。
比如 uchar far rec0_data[200] _at_ 0x7F0100;
没有什么技巧,都是按照地址去访问。你最终要知道你定义的这个数据到底存在单片机的什么位置。
一周热门 更多>