int menuNew = menu[menuCurrent].m(btnState);
if(menuNew != menuCurrent ){
startTime = hundredMsTick;
menuCurrent = menuNew;
... ...
以上代码就是。
const menuItem menu[]={
{leafProcess,NULL,MENU_MAIN,0,0,"MEAS DISPLAY",-1}, //0
{menuProcess,NULL,MENU_DISP,2,13,"MAIN MENU",200}, //1
{menuProcess,editContrast,MENU_MAIN,0,0,"CONTRAST",-1}, //2
{menuProcess,editScr,MENU_MAIN,0,0,"DISP MODE",-1}, //3
{menuProcess,editBF,MENU_MAIN,BIT_BL_MODE,0,"BACKLIGHT",-1}, //4
{menuProcess,editAverages,MENU_MAIN,0,0,"AVERAGES",-1}, //5
{menuProcess,editR,MENU_MAIN,0,0,"SHUNT R",-1}, //6
{menuProcess,editBF,MENU_MAIN,BIT_LC_MODE,0,"LC EQUIV",-1}, //7
{menuProcess,editBF,MENU_MAIN,BIT_LIM_RANGE,0,"RANGE LIM",-1}, //8
{menuProcess,editBF,MENU_MAIN,BIT_1STPARAM,0,"PARAM 1",-1}, //9
{menuProcess,editBF,MENU_MAIN,BIT_2NDPARAM,0,"PARAM 2",-1}, //10
{menuProcess,editBF,MENU_MAIN,BIT_3RDPARAM,0,"PARAM 3",-1}, //11
{menuProcess,editBF,MENU_MAIN,BIT_UART_MODE,0,"UART OUT",-1}, //12
{menuProcess,editBF,MENU_MAIN,BIT_LOWBAT,0,"LOW BAT",-1}, //13
{menuProcess,NULL,MENU_DISP,15,17,"CALIBRATION",200},//14
{leafBalance,editBalance,MENU_DISP,15,0,"CH BALANCE",-1}, //15
{leafCal,editCal,MENU_DISP,0,0,"OPEN-SHORT",-1}, //16
{leafCalReset,NULL,MENU_CAL,0,0,"RESET",-1}, //17
{leafInfo,NULL,MENU_DISP,0,0,"Info",20}, //18
{leafScr,NULL,MENU_DISP,0,0,"scrMode",-1}, //19
{leafBatLow,NULL,MENU_DISP,0,0,"lowBat",20}, //20
{diagScr,NULL,MENU_DISP,0,0,"diagScr",-1}, //21
};
menu数组中,leafProcess,menuProcess,leafBalance等函数都是屏幕处理。 |