forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-25 a12102b90bda2f409babc8c241bfc66118a8cb70
HARDWARE/EXTI/exti.c
@@ -3,9 +3,9 @@
#include "gpio.h"
#include "uart.h"
#include "eeprom.h"
#include "extern_rtc.h"
#include "system_general_para.h"
#include "key.h"
@@ -25,24 +25,85 @@
void GPIO_IRQHandler(void)
{
//   if(__SYS_DELAY_SEC_FLAG_GET(sys_active_time) == SET && LargeCurrent_LimitingProcess() == 3)
//      SysWakeUp_ClockCfg();
//   if(GPIO_EXTI_EXTIISR_ChkEx(KEYA_S1_PORT, KEYA_S1_PIN)  == SET)
//   {
//      GPIO_EXTI_EXTIISR_ClrEx(KEYA_S1_PORT, KEYA_S1_PIN);
//      GPIO_EXTI_Close(KEYA_S1_PORT,KEYA_S1_PIN);
//      InfraRed_Uart0_Clk_Init();
//      Key_Awaken_Init();
//      Botton_LPTimer_Clk_Init();
//      LPTIM_CR_EN_Setable(ENABLE);
//#ifdef RS232_PRINTF
//    printf("KEYA_EXTI\r\n");
//#endif
//    __SYS_DELAY_SEC_FLAG_CLEAR_(sys_active_time); // Çå³ýϵͳ¼¤»îʱ¼ä±ê־λ
//    pwr_vol_g.lith_flag = LMS_KEY;                // »½ÐѺóÁ¢Âí²É¼¯Ò»´ÎµçÁ¿
//    pwr_vol_g.alka_flag = AMS_KEY;
//      if(GPIO_ReadOutputDataBit(LCD_PWR_GPIO_PORT,LCD_PWR_PIN) == Bit_RESET)
//         Lcd_Sys_Init(); // °´¼ü»½ÐÑÆÁÄ»
//   }
      SysWakeUp_ClockCfg();
   if(GPIO_EXTI_EXTIISR_ChkEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN)  == SET) //RTCÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN);
      sys_run_period = SET;
       // ÅжÏϵͳ¼¤»îʱ¼äÊÇ·ñ½áÊø
      if (sys_delay_sec_para_g.sys_active_time.delay_time)
      {
         if (!(--sys_delay_sec_para_g.sys_active_time.delay_time))
         {
            sys_delay_sec_para_g.sys_active_time.delay_flag = SET;
         }
      }
      // ÅжÏGPRS³¬Ê±Ê±¼ä
      if (sys_delay_sec_para_g.gprs_timeout_para.delay_time)
      {
         if (!(--sys_delay_sec_para_g.gprs_timeout_para.delay_time))
            sys_delay_sec_para_g.gprs_timeout_para.delay_flag = SET;
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY1_PORT, KEY1_PIN)  == SET) //key1ÖжÏ,µçÔ´
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY1_PORT, KEY1_PIN);
      if(KEY1_IO_READ==Bit_RESET)
      {
         if(KEY3_IO_READ==Bit_RESET)
         {
            //¿ª·§
         }else if(KEY2_IO_READ==Bit_RESET)
         {
            //¹Ø·§
         }else
         {
            //µ¥»÷µçÔ´
         }
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY2_PORT, KEY2_PIN)  == SET) //key2ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY2_PORT, KEY2_PIN);
      if(KEY2_IO_READ==Bit_RESET)
      {
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY3_PORT, KEY3_PIN)  == SET) //key3ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY3_PORT, KEY3_PIN);
      if(KEY3_IO_READ==Bit_RESET)
      {
         if(KEY2_IO_READ==Bit_RESET)
         {
            //²É¼¯Á÷Á¿¼ÆÊý¾Ý²¢´¥·¢Éϱ¨
         }
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY4_PORT, KEY4_PIN)  == SET) //key4ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY4_PORT, KEY4_PIN);
   }
//   if(GPIO_EXTI_EXTIISR_ChkEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN)  == SET)
//   {
//      GPIO_EXTI_EXTIISR_ClrEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN);