单片机学习小组
直播中

张鑫

7年用户 173经验值
私信 关注

STC89C52RC单片机程序里定义了数组后报错

STC89C52RC单片机RAM为512B,但是我在程序里定义了一个数组,占288Byte,可是编译却提示“ 'DATA': SEGMENT TOO LARGE”,(实际使用需求,此数组不能定义为code),是KEIL里要修改什么?还是头文件reg52.h要换一下?为什么会提示内存超了呢

回帖(8)

高阳

2019-5-28 08:16:25
我知道,虽然为512B的RAM,但内部只有256B的,还有256B为外扩的RAM(虽然也在芯片内部),是不是一个数组长不能超过256B,因为一个变量只能存在内部RAM或外部RAM任意单个中。
举报

李继明

2019-5-28 08:27:02
其他地方还用了RAM吧。。。
举报

刘建军

2019-5-28 08:43:36
没有,其他的用到的RAM只有9Byte,我写了最简的程序
举报

魏双艳

2019-5-28 08:52:31
堆栈。。。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分