forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

wujiazhi
2024-06-11 65062d0d5b21f838aa0043a15ce54cfab8d72c43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include "menu.h"
 
#include "devicegpioinit.h"
#include "1lcd.h"
 
 
u8 LCD_TYPE_FLAG =0;    //Òº¾§ÖÖÀàµÄÅжϱê־λ
 
/*******************???*************/
#define    KEY_ESC                  0x01
#define    KEY_RETURN            0x02
#define    KEY_NEXT                0x04
 
 
/*****************?????*******************/
#define    VB_MENU             0      //±ê¿öÀÛ¼ÆÁ÷Á¿
#define    VM_MENU             1      //¹¤¿öÀÛ¼ÆÁ÷Á¿
#define    P_MENU             2      //ѹÁ¦
#define    T_MENU             3      //ζÈ
#define    Time_MENU         4      //ʱ¼ä
//#define    VOG_MENU         5      //ÆøÌåÁ÷ËÙ
//#define    SOS_MENU         6      //ÉùËÙ
 
MENU_MODULE_T            menu_data;
LCDSIGNAL_FLAG    LCDSignal_flag_g;
 
u8 Warning_blink=1;
u8 Alarm_blink=1;
u8 Battery_blink=1;
 
#define        MENU_LCD_NOMARL_MODE                    0
#define        MENU_LCD_NOFLOW_NOSHOW_MODE        1
#define        MENU_LCD_ALWAYS_SHOW_MODE            2
 
 
 
//
void LCD_first_power_on_up(void)
{
 
}
 
void LCD_first_power_on_down(void)
{
            LCDSignal_flag_g.Sleep=1; 
            menu_data.system_tick=0;
            LCDSignal_flag_g.LCD_first_up = 1;
            menu_data.system_menulevel = LEVEL_POWER_OFF;
            LCD_Power_OFF;
            LCD_Power_lowpower_init();
            LCD_GPIO_sleep_mode();
}
 
 
void LCD_reflash_init(void)
{
        menu_data.system_menulevel = LEVEL1;
        delay_ms(80);
        LCD_Clear();
        LCD_driver_init();
        menu_data.key_num = VB_MENU;
        LCDSignal_flag_g.LCD_first_up = 0;
 
}
 
 
#define            LCD_FIRST_OPEN        0
#define            LCD_OPEN                    1
#define            LCD_OFF                        2
 
#define            ALWAYSPOWER                0
#define            BATPOWER                    1
 
 
 
 
 
 
void LCD_Type_Select(void)
{
    u8 PC7_State;
    u8 PC8_State;
    
    LCD_Power_Init();
    LCD_Power_ON;    
    delay_ms(500);
    GPIO_C_7_INIT();
    delay_ms(500);    
    PC7_State =  GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7);//PCin(7);
    PC8_State =  GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8);//PCin(8);
    
    if((PC7_State==1)&&(PC8_State==0))
    {
        LCD_TYPE_FLAG =1;//ÐÂÒº¾§ I2C
    }
    else if((PC7_State==1)&&(PC8_State==1)) 
    {
        LCD_TYPE_FLAG =0; //Ô­Òº¾§
    }else
    {
        //ÎÞ·¨ÅжÏʱÔÙÀ´Ò»±é
        delay_ms(500);
        GPIO_C_7_INIT();
        delay_ms(500);    
        PC7_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7);//PCin(7);
        PC8_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8);//PCin(8);
                
        if((PC7_State==1)&&(PC8_State==0))
        {
            LCD_TYPE_FLAG =1;//ÐÂÒº¾§
        }
        else if((PC7_State==1)&&(PC8_State==1)) 
        {
            LCD_TYPE_FLAG =0; //Ô­Òº¾§
        }else
        {
            //ÔÙ´ÎÎÞ·¨ÅжϾ͵±×öÐÂÒº¾§
            LCD_TYPE_FLAG =1;//ÐÂÒº¾§
        }
    }
    delay_ms(10);
    LCD_Power_OFF;
    delay_ms(10);
}