forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-31 08b3909c40a192778719c6262bbee4745682948d
HARDWARE/EXTI/exti.c
@@ -70,82 +70,105 @@
      
      if(KEY1_IO_READ==Bit_RESET)
      {
         if(KEY3_IO_READ==Bit_RESET)
         if((KEY3_IO_READ==Bit_RESET)&&(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0))
         {
            //¿ª·§
            if(__SYS_STATUS_BYTES_GET(account_state) == RESET ||__SYS_STATUS_BYTES_GET(valve_lock) == RESET )
               ValveCtrlOrder(VC_OPEN);
         }else if(KEY2_IO_READ==Bit_RESET)
         }else if((KEY2_IO_READ==Bit_RESET)&&(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0))
         {
            //¹Ø·§
            if(__SYS_STATUS_BYTES_GET(account_state) == RESET)
               ValveCtrlOrder(VC_OPEN);
               ValveCtrlOrder(VC_CLOSE);
         }else
         {
            //µ¥»÷µçÔ´
            if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) ==0){
               //Ê״λ½ÐÑ£¬LCD°åÏÈÉϵ磬ʹµÄkey2ºÍkey3À­ÉÏÉúЧ£¬²¢ÇÒÊ״λ½ÐÑÐèÒª³õʼ»¯Òº¾§Çý¶¯£¬Öñê־λ
               lcd_first_wake_up_flag_g = SET;
               Lcd_GPIO_Init();
               LCD_PWR_ON;
            }
            __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
            lcd_wake_up_flag_g = 1;
            lcd_wake_up_flag_g = SET;
            Key_GPIO_Init();
            pwr_vol_g.lith_flag = LMS_KEY; //°´µçÔ´¼ü²É¼¯Ò»´Îµç³Øµçѹ
            pwr_vol_g.alka_flag = AMS_KEY;
         }
         
      }
   }
   
   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)
      {
         lcd_wake_up_flag_g = 1;
         if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //¼¤»îºóÈÎÒâ°´¼üÖØÖü¤»îʱ¼ä
            __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
         }
      }
   }
//   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)
//      {
//         lcd_wake_up_flag_g = SET;
//         if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //¼¤»îºóÈÎÒâ°´¼üÖØÖü¤»îʱ¼ä
//            __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
//         }
//      }
//   }
//
//   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;
//         }else{
//            lcd_wake_up_flag_g = SET;
//         }
//
//         if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //¼¤»îºóÈÎÒâ°´¼üÖØÖü¤»îʱ¼ä
//            __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
//         }
//
//      }
//   }
   
   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;
         }else{
            lcd_wake_up_flag_g = 1;
         }
         if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //¼¤»îºóÈÎÒâ°´¼üÖØÖü¤»îʱ¼ä
            __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
         }
      }
   }
   if(GPIO_EXTI_EXTIISR_ChkEx(KEY4_PORT, KEY4_PIN)  == SET) //key4ÖжÏ
   {
      GPIO_EXTI_EXTIISR_ClrEx(KEY4_PORT, KEY4_PIN);
//   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);
         if(save_valve_para_g.valve_status == VALVE_OPENING){
            if(Motor_OP_IO_READ == Bit_RESET){  //Òý½Å״̬ȷÈÏ
               ValveMotorStop();//¹Ø±ÕÇý¶¯
               save_valve_para_g.valve_status = VALVE_OPEN;
            }
         }else if(save_valve_para_g.valve_status == VALVE_CLOSING){
            if(Motor_CL_IO_READ == Bit_RESET){  //Òý½Å״̬ȷÈÏ
               ValveMotorStop();//¹Ø±ÕÇý¶¯
               save_valve_para_g.valve_status = VALVE_CLOSE;
            }
         }
   }
   
   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);
//      if(Motor_CL_IO_READ == Bit_RESET){  //Òý½Å״̬ȷÈÏ
//         ValveMotorStop();//¹Ø±ÕÇý¶¯
//         save_valve_para_g.valve_status = VALVE_CLOSE;
//      }
//
//   }
   
   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(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN)  == SET)