打印

单片机如何区分片内和片外数据存储器

[复制链接]
6784|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
790953623|  楼主 | 2012-9-13 11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,片外和片内
程序
存储器通过改变EA脚就可以选择,那么片内和片外的
数据
存储器呢?汇编指令不同好像可以区分,但我想知道的
如何
使用
C语言
来区分,我看网上说         
(*(unsigned char*)0x0001)=0x55,意思就是将0x55存入外部存储器0x0001,为什么呢??难道不可以理解为存在内部数据存储器的0x0001上么???

求高手解答!!!

相关帖子

沙发
我爱罗1991| | 2012-9-13 11:13 | 只看该作者
单片机的内部数据存储器可能就不是0x0001,而是0x00-0xFF,这样地址就不会重复了。看下手册确认下吧

使用特权

评论回复
板凳
znmcu| | 2012-9-13 11:18 | 只看该作者
本帖最后由 znmcu 于 2012-9-13 11:19 编辑

你操作的是哪个内存,在于你把你的指针定义为idata 还是 xdata

而且绝对寻址,你最好加一个volitile进行修饰,以保证你访问的是实实在在的RAM地址。

使用特权

评论回复
地板
ayb_ice| | 2012-9-13 13:39 | 只看该作者
用idata,xdata区别


这样才对的
(*(unsigned char xdata *)0x0001)=0x55

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

71

帖子

1

粉丝