c51,程序的结构体最大多大?太大了怎样才能让编译通过去

[复制链接]
4606|7
 楼主| yuanye1127 发表于 2008-8-8 19:08 | 显示全部楼层 |阅读模式
我定义了一个结构体:(这个结构体数组元素有400个怎样编译处理才能通过去啊?)
struct
{
int num1;
int num2;
char *p;
unsigned char qu;
unsigned char wei;
}member[]=
{
{1,1,"aa",0xbb,0xbb},
{1,1,"aa",0xbb,0xbb},
……
……
{1,1,"aa",0xbb,0xbb},
};
soso 发表于 2008-8-8 21:16 | 显示全部楼层

这个结构在 data 或者 idata 里面放不下

可以在 member 前面加个 xdata 放到外部 RAM,或者加个 code 放到代码区
 楼主| yuanye1127 发表于 2008-8-8 21:31 | 显示全部楼层

哦,谢谢朋友,我试试

 楼主| yuanye1127 发表于 2008-8-8 21:50 | 显示全部楼层

这个方法我试过了,出现的问题是单片机不能执行程序

方法我试过了,出现的问题是单片机不能正常执行程序,我是不是需要外扩一个ram存储器啊?是不是单片机的内部ram地址空间不够,寻址不到啊?
 楼主| yuanye1127 发表于 2008-8-9 11:41 | 显示全部楼层

唉,看来用51的片子是不行了,换片子吧还是!

kanerier 发表于 2008-8-11 07:56 | 显示全部楼层

re

片子没选对,有的51内部就带xdata的,找个至少xdata512的不就行了
 楼主| yuanye1127 发表于 2008-8-11 15:07 | 显示全部楼层

问题解决了,外扩ram的方法太笨,也太麻烦了,现在决定换

 楼主| yuanye1127 发表于 2008-8-11 15:11 | 显示全部楼层

终于做出来了

做了半个多月,12864汉字液晶显示的,模仿手机键盘输入汉字功能。并且通过液晶实时显示输入的拼音和汉字。真麻烦!C:Documents and Settingsyuanye桌面12.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

135

帖子

0

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