forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-30 ee3c90168f81ce19529904d80f9c9de4fed23bb8
HARDWARE/EXTI/exti.c
@@ -5,9 +5,10 @@
#include "eeprom.h"
#include "extern_rtc.h"
#include "system_general_para.h"
#include "key.h"
#include "valve_control.h"
#include "system_mem_para.h"
#include "system_run_fun.h"
void NMI_Handler(void)
{
@@ -26,12 +27,102 @@
{
//   if(__SYS_DELAY_SEC_FLAG_GET(sys_active_time) == SET && LargeCurrent_LimitingProcess() == 3)
      SysWakeUp_ClockCfg();
   if(GPIO_EXTI_EXTIISR_ChkEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN)  == SET)
   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)
         {
            //²É¼¯Á÷Á¿¼ÆÊý¾Ý²¢´¥·¢Éϱ¨
            start_rs485_g = RS485_START_REASON_KEY;
            start_wrc_g = WRC_MEANS_KEY;
         }
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY4_PORT, KEY4_PIN)  == SET) //key4ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY4_PORT, KEY4_PIN);
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(Motor_OP_PORT, Motor_OP_PIN)  == SET) //·§ÃÅ¿ªµ½Î»ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(Motor_OP_PORT, Motor_OP_PIN);
      ValveMotorStop();//¹Ø±ÕÇý¶¯
      save_valve_para_g.valve_status = VALVE_OPEN;
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(Motor_CL_PORT, Motor_CL_PIN)  == SET) //·§ÃŹص½Î»ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(Motor_CL_PORT, Motor_CL_PIN);
      ValveMotorStop();//¹Ø±ÕÇý¶¯
      save_valve_para_g.valve_status = VALVE_CLOSE;
   }
//   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);