求助,PIC单片机,数组变量问题

[复制链接]
3794|8
 楼主| luckycuy 发表于 2013-11-30 10:13 | 显示全部楼层 |阅读模式
本帖最后由 luckycuy 于 2013-11-30 10:15 编辑

定义一个数组 unsigned char SEND_DATA_AD[1024] ={..,..,..,...};
用PICC编译时报错:Error   [1250] D:\My Documents\products\Fault Indicator\programs\sfd\sfd-4.1.c; 94. could not find space (1024 bytes) for variable _SEND_DATA_AD
我试了这个数组最大可以是80,再大就要报错。 可我的程序空间还有2K多没用啊,为什么说找不到空间呢?
ayb_ice 发表于 2013-11-30 10:19 | 显示全部楼层
这是RAM空间好不好,不是程序空间
dong_abc 发表于 2013-11-30 10:20 | 显示全部楼层
没用过PIC, 可能存储器分区了,加个const试试。
gbars 发表于 2013-11-30 10:33 | 显示全部楼层
本帖最后由 gbars 于 2013-11-30 10:36 编辑

1024的数组。。。
PIC16单片机RAM是分页管理的,一页不能超过90个。。。
 楼主| luckycuy 发表于 2013-11-30 10:35 | 显示全部楼层
gbars 发表于 2013-11-30 10:33
1024的数组。。。
PIC16单片机ROM是分页管理的,一页不能超过90个。。。

的确是这个问题,但我的数组元素比较多,怎么解决呢?
gbars 发表于 2013-11-30 10:38 | 显示全部楼层
如果是常量可以定义成const类型的
变量的话不超过256个可以放到eeprom里

 楼主| luckycuy 发表于 2013-11-30 10:41 | 显示全部楼层
gbars 发表于 2013-11-30 10:38
如果是常量可以定义成const类型的
变量的话不超过256个可以放到eeprom里

我的是常量,灰常感谢!:hug:
 楼主| luckycuy 发表于 2013-11-30 10:42 | 显示全部楼层
dong_abc 发表于 2013-11-30 10:20
没用过PIC, 可能存储器分区了,加个const试试。

果然是这个问题,加个const搞定,谢谢大师
命中注定0818 发表于 2015-1-12 12:01 | 显示全部楼层
是变量怎么办
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

20

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部