EFI_STATUS MainMenuEnterFunc ( IN EFI_MENU_PAGE *Page ) /*++ Routine Description: Handle Enter key in main menu Arguments: Page - A pointer to the menu Reutrns EFI_SUCCESS - Handle Enter key successfully Other Value - Something failed --*/ { // // Based on current selected item, display different menu page // switch ((UINTN)Page->Body.CurrentSelected->Context) { case EFI_MENU_ITEM_CONFIG: DisplayConfigMenu (Page); break; case EFI_MENU_ITEM_DEVICE_CONFIG: DisplayDeviceConfig (Page); break; case EFI_MENU_ITEM_CASE_MANAGEMENT: DisplayTestNodeMenu (&gFT->TestNodeList, Page); break; case EFI_MENU_ITEM_REPORT_GENERATOR: DisplayReportGenerator(Page); break; case EFI_MENU_ITEM_VIEW_LOG: DisplayLog(Page); break; case EFI_MENU_ITEM_UTILITY: break; default: // Error return EFI_UNSUPPORTED; } return EFI_SUCCESS; }
/******************************************* 函数名称:HandleConfigMenu 功 能:处理PC的配置函数 参 数:inputvalue--接收到的来自PC机的字符 返回值 :无 ********************************************/ void HandleConfigMenu(uchar inputvalue) { switch(toupper(inputvalue)) { case 'A': Auto_Reader(); break; case 'F': Find_Card(); break; default: DisplayConfigMenu(); } }
void main( void ) { WDTCTL = WDTPW + WDTHOLD ; // 关看门狗 BoardConfig(0xf0); Init_Port(); InitUART(); _EINT() ; PcdReset();//复位RC522 PcdAntennaOn();//开启天线发射 DisplayConfigMenu(); while(1) { Send1Char('>'); Send1Char('\n'); i=Get1Char(); HandleConfigMenu(i); } }