这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LCD 我想做一个LCD的菜单,下面是我的思路。请各位大侠指点。

共2条 1/1 1 跳转至

LCD 我想做一个LCD的菜单,下面是我的思路。请各位大侠指点。

院士
2006-09-17 18:14:16     打赏
LCD 我想做一个LCD的菜单,下面是我的思路。请各位大侠指点。



关键词: 想做     一个     菜单     下面     我的     思路     各位     大侠         

院士
2006-12-22 22:43:00     打赏
2楼
问 输入设备是一个脉冲编码器,可以正旋、反旋和确定开关。
通过脉冲计数得到菜单的ID,确认后进入下一级菜单或执行菜单的命令。
通过一个指针数组将所有的一级菜单ID(结构数组的指针)存放起来,二级菜单采用结构数组进行区分。
/*…结构定义如下….*/
typedef  struct  MENU_ITEM
{  uint a;
uchar b;
uchar c[];
     }
MENU_ITEM  code Menu1[]={   //MenuID=0
    {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};
MENU_ITEM  code Menu2_1[]={  //MenuID=1
    {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};
MENU_ITEM  code Menu2_2[]={   //MenuID=2
   {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};
MENU_ITEM  code Menu2_3[]={   //MenuID=3
    {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};
MENU_ITEM code Menu3_1[]={   //MenuID=4
   {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};
MENU_ITEM  code  Menu3_2[]={   //MenuID=5
     {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};

MENU_ITEM code Menu3_3[]={   //MenuID=6
    {0x,1,“???”},
    {0x,2, “???”},
    {0x,3,“???”}
};


MENU_ITEM code *Menu[]={
    Menu1,
    Menu2_1,
    Menu2_2,
    Menu2_3,
    Menu3_1,
    Menu3_2,
    Menu3_3,
  
};

具体思路是,画面开始后,出现第一级菜单,如果按下确认按钮的话,进入Menu1[]的子菜单;如果计数值为1时,进入Menu2_1[];如果计数值为2时,进入Menu2_2];以此类推。
但是这个思路只能适用于二级菜单,要是三级、四级或多级菜单应该如何往下扩展?
各位大侠多多指点。
1: re给你提供一个思路,用这样的程序结构你看行不行
switch(display_state)
{
    case 0:
           加入你要做的显示菜单;
           display_state=1;
        break;
    case 1:
           加入你要做的下一级显示菜单;
           display_state=1;
        break;
    
        ::::::
        ::::::

     default:
        break;
}








} 2: 菜单这东西太费存储器 3: luhuaren的状态机方法是嵌入式开发的王道!!! 4: 王道:古时指以仁义统治天下的政策。多谢几位大侠指点。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]