打印
[AVR单片机]

MEGA48数据空间中的0X60~0XFF地址可不可以当成RAM使用?

[复制链接]
2193|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yewuyi|  楼主 | 2007-5-14 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RAM, AVR, vr, IO, LPC
在IAR编译器中看到有这两个关键字:__io,__ext_io;
作用是定义变量在IO空间;
0X20~0X5F是IO Registers,肯定不能用了;
只有0X20~0XFF:Ext I/O Reg.可定义了,但从DATASHEET看,这似乎是AVR保留的地址空间,这个空间能做为普通的RAM使用吗?


另在DATASHHET上说MEGA48的RAM大小为512BYTE,地址应当是从0X100~0X2FF,但如果0X60~0XFF空间可以做为RAM使用的话,呵呵,是不是意味着真正的RAM区比标出的512BYTE要多{呵呵,免费送点RAM,这可是好事情^^}

用过AVR的兄弟冒个泡讲讲^^


::嘿嘿,主流MCU中就差AVR/LPC没玩了(LPC不想玩,一直都不喜欢LPC,不知怎么回事,ZLG先生听了不要生气),最近项目整理期,能抽片刻闲看看拉,呵呵,我紧跟HOTPOWER的脚步,也来做AVR菜鸟了^^

相关帖子

沙发
yewuyi|  楼主 | 2007-5-14 17:45 | 只看该作者

哈哈,AVR的老鸟都跑哪里去了?

使用特权

评论回复
板凳
zhiwei| | 2007-5-14 18:39 | 只看该作者

呵呵

你以为atmel是白痴?
这个区域是扩展IO,没有外围期间映射当然是空着了,但是它是为跟其他V系列兼容所以才留的。这个区域访问无效,不信你写入一个字节然后读出看是否一样?

使用特权

评论回复
地板
yewuyi|  楼主 | 2007-5-15 08:20 | 只看该作者

呵呵,我没当ATMEL是白痴……

这个区域访问无效,不信你写入一个字节然后读出看是否一样?



嘿嘿,我写进去和读出来似乎是一样的哦……


如果不能用,为什么IAR有这样的关键字:__io可以指定呢?

使用特权

评论回复
5
yewuyi|  楼主 | 2007-5-16 08:17 | 只看该作者

大家都没关心过这段空间吗?

使用特权

评论回复
6
netjet| | 2007-5-16 08:27 | 只看该作者

还真没这样用过!

使用特权

评论回复
7
xwj| | 2007-5-16 08:48 | 只看该作者

呵呵,你要用随便你,但一切后果自己负责哦

使用特权

评论回复
8
yewuyi|  楼主 | 2007-5-16 10:55 | 只看该作者

呵呵,如果真能用,肯定要自己承担后果的了

但俺现在很疑惑的是:到底能不能用?

如果能用,怎么用才比较好?

使用特权

评论回复
9
gtw| | 2007-5-16 18:43 | 只看该作者

不能用啊

这是给扩展外设预留的寻址空间,但没有外设占用这个空间,就没有相应的存储单元^

使用特权

评论回复
10
zhiwei| | 2007-5-17 18:49 | 只看该作者

这样试

把RAMSTART设置到0x60;
如果用的是ICC的话,Option里面CPU选择ATMega48,然后再选择custom,下面的条目就可以在48的基础上编辑了,DataAddress(byte)里面填0x60。
然后重新编译你的项目,硬件调试看运行是否正常。不要软件调试。

使用特权

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

本版积分规则

1416

主题

20007

帖子

232

粉丝