智能车制作

标题: 数组越界 [打印本页]

作者: ccc666    时间: 2013-9-28 23:29
标题: 数组越界
为什么连续定义3个40*120的数组  就会提示越界      而将其中两个改成10*120的就可以了 请求指点[attach]50876[/attach][attach]50875[/attach]

作者: 零距离    时间: 2013-9-29 00:02
不清楚额。你是摄像图的吧。
作者: rubick    时间: 2013-9-29 01:04
3*40*120 = 14K
请问你的单片机内存有 14K 吗?
作者: 李洋洋    时间: 2013-9-29 13:46
rubick 发表于 2013-9-29 01:04
3*40*120 = 14K
请问你的单片机内存有 14K 吗?

和他的内存有什么关系呢。
作者: ccc666    时间: 2013-9-29 16:33
rubick 发表于 2013-9-29 01:04
3*40*120 = 14K
请问你的单片机内存有 14K 吗?

有啊  XS的   flash内存有128k

作者: 问乐寻音    时间: 2013-9-29 20:54
ccc666 发表于 2013-9-29 16:33
有啊  XS的   flash内存有128k

xs128的flash是128kb,而ram只有8kb,一般变量是储存在ram里的,所以定义的全局变量一般不能超过8k。flash存储器用来存储代码和const类型的数据。So...

作者: 问乐寻音    时间: 2013-9-29 20:58
李洋洋 发表于 2013-9-29 13:46
和他的内存有什么关系呢。

xs128的flash是128kb(相当于电脑的硬盘),用来存储代码和const类型的数据;而ram只有8kb(相当于电脑的内存条),一般定义的变量是储存在ram里的,所以定义的全局变量一般不能超过8k。So...

作者: seakid    时间: 2013-9-29 21:07
定义那么多数组做什么?楼主非要用,可以用DFlash模块试试。
作者: 李洋洋    时间: 2013-9-29 21:35
seakid 发表于 2013-9-29 21:07
定义那么多数组做什么?楼主非要用,可以用DFlash模块试试。

怎么使用Dflash,我不知道怎么用?
作者: seakid    时间: 2013-9-29 21:37
要调用Flash模块,如果你不会用的话,还是把数组改小为佳。128的执行速度本来就不该,你的数组太大了。
负责任的讲,55*80的数组足矣。
作者: rubick    时间: 2013-9-30 01:25
ccc666 发表于 2013-9-29 16:33
有啊  XS的   flash内存有128k

楼上已经讲得很清楚了,128K是硬盘,内存只有8K。





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2