#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(); //´Å¸ÉÈżì²â }