Keil C程序中定义的一维数组过大该怎么办?是优化程序还是外扩展RAM芯片?
该程序的功能是左移循环显示十个汉字,需要先将汉字的编码存入缓存文件中,但是只能存入192个字节即6个汉字的编码能够编译成功,现在我想显示10个汉字也即是说要存入320个字...
该程序的功能是左移循环显示十个汉字,需要先将汉字的编码存入缓存文件中,但是只能存入192个字节即6个汉字的编码能够编译成功,现在我想显示10个汉字也即是说要存入320个字节到缓存数组当中去,但是Keil C程序编译如下:
MAIN.C(15): error C249: 'IDATA': SEGMENT TOO LARGE
Target not created
部分用到缓存数组的源程序如下:
unsigned char idata huancun[320];
tmp=~huancun[i*8+ia];
huancun[ia]<<=1;
if(huancun[ia+1]&0x80)
huancun[ia]++;
huancun[ia]<<=1; 展开
MAIN.C(15): error C249: 'IDATA': SEGMENT TOO LARGE
Target not created
部分用到缓存数组的源程序如下:
unsigned char idata huancun[320];
tmp=~huancun[i*8+ia];
huancun[ia]<<=1;
if(huancun[ia+1]&0x80)
huancun[ia]++;
huancun[ia]<<=1; 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询