#include "other_fun.h"
|
#include "gpio.h"
|
#include "linked_list.h"
|
#include "main.h"
|
#include "sizhu_alarm_record.h"
|
|
|
|
|
|
void led_init(void)
|
{
|
CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
|
|
OutputIO(GPIOD,GPIO_Pin_8,OUT_PUSHPULL);
|
}
|
|
void led_Close(void)
|
{
|
CloseIO(GPIOD,GPIO_Pin_8);
|
}
|
|
|
|
|
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)
|
{
|
#ifdef LED_TEST
|
// led_init();
|
// LED_TOG;
|
|
if((sys_clockBCD_g.sec &0x04) == 0){
|
led_init();
|
LED_ON;
|
}else{
|
led_init();
|
LED_OFF;
|
}
|
#else
|
led_Close();
|
#endif
|
|
|
UncapCheck(); //¿ª¸Ç¼ì²â
|
|
MagneticInterferenceCheck(); //´Å¸ÉÈżì²â
|
|
}
|