为什么我在这款片子里面定义了5个字符串数组,每个数组里面都有8个字符,
但是多一个就提示溢出,其余的都是些unsigned int unsigned char的变量,大概有15个吧,
这款片子不能放多的数组么?
------解决方案--------------------
ram大小是256。你编译一下,或看编译结果,或看一下map文件,都可以找到现在用了大少ram。要考虑栈的大小。
------解决方案--------------------
在unsigned int unsigned char
这些后面加个xdata就可以了
unsigned int xdata
unsigned char xdata
------解决方案--------------------
是的,只能保证编译通过.如果外部电路没有xdata则会出问题.
所以还是看map文件检查是什么地方导致ram过大,或着提高优化级别
------解决方案--------------------
你把const改成code看看,编译器不一定把const放在rom中
------解决方案--------------------
xdata不一定是指片外,芯片内部RAM超过256字节的RAM都是用xdata标示的