#ifndef __MENU_H #define __MENU_H #include "sys.h" //#include "fm25v02.h" #define HT16C23_M14280_P2 0 //µÚ¶þÐÐСÊýµãºóÁ½Î» #define HT16C23_M14763_P3 1 //µÚ¶þÐÐСÊýµãºóÈýλ,ÓëÁ½Î»µÄÒº¾§°åÏà±È£¬³ö¶àÒ»¸öÊý×ÖÍ⣬½öµ¥Î»²¿·ÖÓÐÇø±ð¡£ #define HT1623_M13381 3 //ÈýÏßÖÆÒº¾§ #define LEVEL1 0X01 #define LEVEL2 0X02 #define LEVEL_POWER_OFF 0X05 #define MENU_ORG BK_SH_MENU #define External_Power 0 #define Battery_Below20 1 #define Battery_Upon20 2 #define Battery_Upon40 3 #define Battery_Upon60 4 #define Battery_Upon80 5 //ÏÔʾ°´¼üÏà¹Ø²ÎÊý #define ERROR_LCD_NUM 10 //±¨¾¯ÏÔʾ¸öÊý typedef struct menu_module { /*LCD¼ÆÊý*/ u8 system_tick; u8 ble_cnt; u8 combo_key_cnt; u8 gprs_one_key_up; u8 cir_show_cnt; /*²Ëµ¥·Ö¼¶*/ u8 system_menulevel; /*°´¼üÖµ*/ u8 key_num; /*ÏÔʾÆÁ״̬*/ u8 lcd_state; u8 flow_tick; /*ÏÔʾˢмÆÊý*/ u32 lcd_refresh_cnt; u8 LCD_tem_low_flag; //ÒºÏÔµÍαêÖ¾£¬Êµ¼ÊÒ²ÊÇÅжϻ·¾³ÎÂ¶È u8 LCD_number_overrun_flag; //ÒºÏÔ³¬ÏÞ±êÖ¾ /*ÏÔʾÆÁÓ²¼þÀàÐÍ*/ u8 lcd_hardware_type; /*±¨¾¯ÏÔʾ*/ u8 alarm_show_addr; //ÏÔʾģʽ 0Õý³£ 1²éѯ u8 show_mode; //ÓÒ¼ü³¤°´¼¼Êõ °´3s½øÈë ²éѯģʽ ÔÙ°´ÈýÃëÍ˳ö u8 right_key_cnt; u8 power_key_cnt;//³¤°´10s½øÈë¼ì¶¨Ä£Ê½ //´íÎóÏÔʾ±êÖ¾ u8 system_error[ERROR_LCD_NUM]; }MENU_MODULE_T; typedef struct lcdSignal_flag { u8 LCD_show_on_flag; u8 PowerSignal_Select;//µçÁ¿²É¼¯ u8 Config_Mode; u8 LCD_first_up; u8 Sleep; }LCDSIGNAL_FLAG; void LCD_para_hard_init(void); void LCD_first_power_on_up(void); void menu_leve1(void); void lcd_hardware_detect_init(void); void extra_signal(void); /*ÏÔʾÆÁÏÔʾÓÃ*/ void sys_menu(void); void calibration_mode_process(); /**/ uint8_t GetKeyNum(uint8_t KeyType,uint8_t KeyNum); extern MENU_MODULE_T menu_data; extern LCDSIGNAL_FLAG LCDSignal_flag_g; #endif