|
傻孩子大侠,我把你“有谁能够谈谈LCD中菜单的实现和编程方法?”中的结构体定义到flash区中,如下,经iar编译没错,但仿真时发现好像在data区中也定义了,不知这样定义是否正确,仿真时data区中出现flash区中定义结构体的相同内容,是怎么回事,不解,望赐教。谢谢!
void nullsubs(void)
{
}
struct menuitem
{
uchar menucount;
uchar *displaystring;
void (*subs)();
struct menuitem __flash *childrenmenus;
struct menuitem __flash *parentmenus;
};
__flash struct menuitem timemenu[4];
__flash struct menuitem voicemenu[5];
__flash struct menuitem robotmenu[5];
__flash struct menuitem mainmenu[3];
__flash struct menuitem timemenu[4]=
{
{4,"time set",nullsubs,NULL,mainmenu},
{4,"date set",nullsubs,NULL,mainmenu},
{4,"alert set",nullsubs,NULL,mainmenu},
{4,"back",nullsubs,mainmenu,mainmenu}
};
__flash struct menuitem voicemenu[5]=
{
{5,"voice recode",nullsubs,NULL,mainmenu},
{5,"play",nullsubs,NULL,mainmenu},
{5,"stop",nullsubs,NULL,mainmenu},
{5,"delect",nullsubs,NULL,mainmenu},
{5,"back",nullsubs,mainmenu,mainmenu}
};
__flash struct menuitem robotmenu[5]=
{
{5,"turn left",nullsubs,NULL,mainmenu},
{5,"turn right",nullsubs,NULL,mainmenu},
{5,"go ahead",nullsubs,NULL,mainmenu},
{5,"go back",nullsubs,NULL,mainmenu},
{5,"back",nullsubs,mainmenu,mainmenu}
};
__flash struct menuitem mainmenu[3]=
{
{3,"time set",nullsubs,timemenu,NULL},
{3,"voice center",nullsubs,voicemenu,NULL},
{3,"robot control",nullsubs,robotmenu,NULL}
}; |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|