forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-29 6c7e61a54ef9b96f79704f0b965664e89f57dd52
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
#include "other_fun.h"
#include "gpio.h"
#include "linked_list.h"
 
 
 
 
 
 
 
void led_init(void)
{
    CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
    
    OutputIO(GPIOD,GPIO_Pin_8,OUT_PUSHPULL);
    LED_OFF;
    
//    OutputIO(GPIOC,GPIO_Pin_14,OUT_PUSHPULL);
//    LCD3_OFF ;
}
 
 
 
 
void UNCAP_GPIO_Clk_Init(void)
{
    CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
    InputtIO( UNCAP_PORT, UNCAP_PIN, IN_NORMAL);
}
 
void magnetic_interference_GPIO_Clk_Init(void)
{
    CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
    InputtIO( MAGNETIC_INTERFERENCE_PORT, MAGNETIC_INTERFERENCE_PIN, IN_NORMAL);
}
 
void UncapCheck(void)
{
    static uint8_t upcap_cnt =0 ;
    
    UNCAP_GPIO_Clk_Init();
    if(UNCAP_IO_READ == Bit_SET){
        if(upcap_cnt >= 2){
            //¿ª¸ÇÁË
            __SYS_STATUS_ALARM_BYTES_SET(cover_open, ALARM_ID_COVER_OPEN);
            
        }else{
            upcap_cnt ++;
        }
        
    }else{
        if(upcap_cnt == 0){
            __SYS_STATUS_BYTES_STATUS(cover_open, RESET, ALARM_ID_COVER_OPEN);
            
        }else{
            upcap_cnt --;
        }
    }
}
 
 
void MagneticInterferenceCheck(void)
{
    static uint8_t magnetic_interference_cnt =0 ;
    
    magnetic_interference_GPIO_Clk_Init();
    if(MAGNETIC_INTERFERENCE_IO_READ == Bit_SET){
        if(magnetic_interference_cnt >= 2){
            //´Å¸ÉÈÅ
//            __SYS_STATUS_ALARM_BYTES_SET(cover_open, ALARM_ID_COVER_OPEN);
            
        }else{
            magnetic_interference_cnt ++;
        }
        
    }else{
        if(magnetic_interference_cnt == 0){
//            __SYS_STATUS_BYTES_STATUS(cover_open, RESET, ALARM_ID_COVER_OPEN);
            
        }else{
            magnetic_interference_cnt --;
        }
    }
}
 
 
//ϵͳÆäËûÁãɢС¹¦ÄÜ´¦Àí
void OtherFunPro(void)
{
    
    UncapCheck();  //¿ª¸Ç¼ì²â
    
    MagneticInterferenceCheck(); //´Å¸ÉÈżì²â
    
}