struct MenuItem { char MenuDpth; //当前菜单深度 unsigned char *str; //菜单字符串数组 char MenuCount; //当前菜单索引数目 //char MenuIndex; //当前菜单索引 //在菜单确定后一直要运行的函数指针 即调参 只在三级菜单有效 uint8 val_num; // 待调参数编号 只在三级菜单有效 struct MenuItem *ChildrenMenus; //下一级菜单(表明选择该菜单项后,跳转到哪个子菜单去) struct MenuItem *ParentMenus; //上一级菜单(表明选择返回后,跳转到哪个菜单去) }; //主菜单即一级菜单 显示三个二级菜单 struct MenuItem Main_Menu[] = { {1,"display",3,0,A1_Menu,NULL}, {1,"change_val",3,0,A2_Menu,NULL}, {1,"unknown",3,0,A3_Menu,NULL} }; /* 二级菜单 */ //A1--display 显示类 struct MenuItem A1_Menu[] = { {2,"image",2,0,B1_Menu,Main_Menu}, {2,"wave",2,0,B2_Menu,Main_Menu} }; //A2--change_val 调参类 struct MenuItem A2_Menu[] = { {2,"PID-Vals",5,0,B3_Menu,Main_Menu}, {2,"image",5,0,B4_Menu,Main_Menu}, {2,"control",5,0,B5_Menu,Main_Menu}, {2,"AD_Annulus",5,0,B6_Menu,Main_Menu}, {2,"Speed",5,0,B7_Menu,Main_Menu} }; //A3 --XXX 待定 struct MenuItem A3_Menu[] = { {2,"Bn",1,0,NULL,Main_Menu} };
时间: 2024-04-22 18:23:30 浏览: 104
这段代码定义了一个菜单结构体 `MenuItem`,包含了菜单深度、菜单字符串、菜单索引数目、待调参数编号以及指向其上一级和下一级菜单的指针。代码中定义了三个一级菜单,分别为 `display`、`change_val` 和 `unknown`,每个一级菜单下面都有两个二级菜单。其中 `A1_Menu` 中有 `image` 和 `wave` 两个二级菜单,`A2_Menu` 中有 `PID-Vals`、`image`、`control`、`AD_Annulus` 和 `Speed` 五个二级菜单,`A3_Menu` 中只有一个名为 `Bn` 的二级菜单。
阅读全文