打印

STC89C52RC单片机程序里定义了一288Byte的数组,报错了

[复制链接]
2084|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
凤鸣|  楼主 | 2016-5-4 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
凤鸣|  楼主 | 2016-5-4 20:29 | 只看该作者
我知道,虽然为512B的RAM,但内部只有256B的,还有256B为外扩的RAM(虽然也在芯片内部),是不是一个数组长不能超过256B,因为一个变量只能存在内部RAM或外部RAM任意单个中。

使用特权

评论回复
板凳
ayb_ice| | 2016-5-4 21:00 | 只看该作者
分在不同空间,用不同的指令访问,所以不能定义那么大的连续空间

使用特权

评论回复
地板
wztoad| | 2016-5-4 21:26 | 只看该作者
我用hotelk  时数组长度是有限制的,c51应该都差不多,分成两个数组就行了

使用特权

评论回复
5
linqing171| | 2016-5-4 21:55 | 只看该作者
data肯定放不开了,别说R0-R7用了一些,还有bit和堆栈呢。
最好都放xdata 里面,如果xdata 够大的话。如果资源很紧张就拆开。
unsigned char xdata BigArray[258];
这样可能可以。

使用特权

评论回复
6
凤鸣|  楼主 | 2016-5-4 22:23 | 只看该作者
确实有道理啊

使用特权

评论回复
7
江枫渔火| | 2016-5-5 12:26 | 只看该作者
请关注 XDATA

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝