这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » MSP单片机的设计与实践(五)

共1条 1/1 1 跳转至

MSP单片机的设计与实践(五)

助工
2014-10-05 22:36:41     打赏


菜单交互及菜单设计


     写了个贪吃蛇的游戏。当时菜单实现是对菜单进行了抽象。实现了菜单模型的建立。


struct TypeMenu;


typedef struct TypeMenu * PMenu;


typedef struct TypeMenu


{


uint8 MenuID;


uint8 * MenuName;//长度不超过7个汉字长度


uint8 MenuPosX;


uint8 MenuPosY;


PMenu ParentMenu;//指向父菜单的指针


PMenu ChildMenu;//指向子菜单的指针


void (*func)(uint8 id);//功能函数


} Menu;


void MenuInit(PMenu MenuPtr);


void MenuRefresh(uint8 code);


void SetMenuPara(void);


void SetMenu(PMenu MenuPtr);


void SetMenuPage(uint8 dir);


void SetMenuIndex(uint8 dir);


void MenuEvent(uint8 KeyCode);


void MenuRecBack();


void MenuRecMain();


void MenuShow(uint8 num);

 



这是对菜单以及菜单操作函数的声明。当时感觉这样菜单通用性较强。完整的代码在菜单文件中单独列出。


这次看了MSP430人机交互中关于菜单的内容。感觉这方面还有很多没有考虑到。


1.      菜单交互的设计原则


操作的快捷性


防止误操作


符合操作习惯


有效提示


2.书中举了基于状态机的菜单的实现。


对于这2种方法各自的优缺点,由于以前不曾用状态机写过,也就不太清楚了。感觉两种方法都不错。


共1条 1/1 1 跳转至

回复

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