www.ctrt.net > 整理程序.C(249): Error C249: 'DATA': SEGMENT TO...

整理程序.C(249): Error C249: 'DATA': SEGMENT TO...

例如 : unsigned char BIt[][32]={.......} 这样较多的数,就需要这样做 unsigned char code .... 加入code区

说明你程序DATA区空间已超过指定单片机的DATA区空间,可以用keil C编译的时候压缩压缩一下,keil C菜单里有一个可以设置的,选最高级(好像是7级)就可以就最大空间压缩

LCD12864_TEST.C(177): error C249: 'DATA': SEGMENT TOO LARGE177行是程序的结尾,用的是Keil,能编译时程序的大小是data:93.0,code:985,是不是Data太大了...

如果你定义的数组不用更改就用 uchar code XX[10]= 根据你数据的用处,你可以有以下几种选择: data:直接寻址的片内RAM区低128B(00H~7FH) bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问 idata:单片机间接访问的片内RAM区,...

你的内存不足了,把一些不必要的定义删除了,比如你定义的数组int example[100],可以减小为int example[50]

这个错误字面的意思是你的变量太多,塞不进data块里面。 你应当将一部分全局变量分配到idata块中。或者看看能否将部分全局变量换为局部变量。

第一个错误是说 shuju[i].time[6] 和 time[6] 的类型不一样,你仔细看看 第二个应该是说数组下标越界了(什么编译器这么高端还检查下标越界)

数据段太长,不知道你用的的什么单片机,片内ram有多少 出现这个提示是因为你用的自定义变量空间太多了,超过了单片机的容量 当然也有可能是你kc设置的问题

数据段的内容过多可能导致内存溢出了,所以编译失败。

unsigned char a[][16]= { 0x08,0x18,0xC8,0x14,0x32,0x11,0xE8,0x08,0x0C,0xEA,0x08,0x88,0x88,0x08,0x08,0x08, 0x02,0x02,0x3F,0x02,0x02,0x02,0x7F,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x0A,0x04,/*"待",0*/ 0x08,0x08,0x08,0x7F,0x08,0x08,...

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com