OCMJ4X8C 液晶菜单显示程序(2008-08-08 09:13:13)
标签:菜单程序 液晶 mainmenu it
刚刚花了 3 天写了一个比较完善的菜单显示程序,分享给大家。可能有很多不足,如果有什么 bug
请发 Email 到 yunjian4516@163.com 谢谢!
未经作者允许请勿用于商业用途!
菜单的数据结构定义
//选项结构体的定义
typedef struct option
{
signed ID; //选项标志()
int *Label; //菜单显示字,连向 word
struct menu *next; //选项的下级菜单,若非菜单则为 0
}option;
//菜单结构体的定义
typedef struct menu
{
unsigned Maxopts; //该菜单所包含的选项数
unsigned Maxoptsperpage; //定义 LED 每一页最多显示项目数(低 2 位有效,最多为 3+1,
最少为 0+1)
unsigned selection;
struct menu *parmenu; //父菜单
struct option *paropt;
struct option *next; //该菜单的第一个项目
}menu;
//主菜单结构体的定义
typedef struct Mainmenu
{
unsigned int Maxopts; //主菜单包含的项目数
unsigned int maxhypes; //已定义的最大的层数(建立菜单时用到)
struct option *curopt; //在建立菜单时记录当前的选项
struct menu *curmenu; //在建立菜单时记录当前所在的菜单
//上面两数据在对菜单操作时指向当前页的第一项
struct menu *next; //主菜单
}Mainmenu;
菜单的处理函数定义