基本结构体定义
菜单项定义
struct menu
{
uint8_t range_from; //当前显示的项开始序号
uint8_t item_count;//项目总数
uint8_t selected;//当前选择项
struct menu_tag *menu_tag;
struct menu *sub_menus[MAX_SUB_MENU];//子菜单
struct menu *parent;//上级菜单 ,如果是顶级则为null
};
菜单结构体定义
我们使用此结构体来布局菜单结构
struct menu_tag
{
uint8_t menu_index;//菜单层数
uint8_t item_index_as_item;//作为子菜单项显示字符
uint8_t item_index_as_title;//作为标题时显示字符
func func_menu;
};
数据类型定义
设计菜单结构
const uint8_t MENU_ITEM[][12] =
{
"",//0
"主菜单",//1
"1.语言设置",//2
"2.画面设置",//3
"3.声音设置",//4
"4.网络设置",//5
"5.其他设置",//6
"6.关于",//7
"语言设置",//8
"1.中文",//9
"2.英文"