| | |
| | | #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" |
| | | #include "power_manage.h" |
| | | #include "pulse_and_alarm_line.h" |
| | | #include "tim.h" |
| | | #include "wireless_remote_comm.h" |
| | | #include "main.h" |
| | | #include "lcd.h" |
| | | |
| | | void NMI_Handler(void) |
| | | { |
| | |
| | | { |
| | | // 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.wrc_timeout_para.delay_time) |
| | | { |
| | | if (!(--sys_delay_sec_para_g.wrc_timeout_para.delay_time)) |
| | | sys_delay_sec_para_g.wrc_timeout_para.delay_flag = SET; |
| | | } |
| | | |
| | | //wrcÖØ±¨Ê±¼äµ¹¼ÆÊ± |
| | | if (wrc_ctrl_para_g.wrc_restart_time_sec_cnt) |
| | | { |
| | | if (!(--wrc_ctrl_para_g.wrc_restart_time_sec_cnt)) |
| | | ; |
| | | } |
| | | |
| | | } |
| | | |
| | | 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) |
| | | { |
| | | //¿ª·§ |
| | | 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) |
| | | { |
| | | //¹Ø·§ |
| | | if(__SYS_STATUS_BYTES_GET(account_state) == RESET) |
| | | ValveCtrlOrder(VC_OPEN); |
| | | }else |
| | | { |
| | | //µ¥»÷µçÔ´ |
| | | __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME); |
| | | lcd_wake_up_flag_g = 1; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | 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(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(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(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN) == SET) |
| | | { |
| | | GPIO_EXTI_EXTIISR_ClrEx(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN); |
| | | |
| | | // __SYS_STATUS_ALARM_BYTES_SET(lith_remove); |
| | | pwr_vol_g.lith_lose_check_flag = SET; |
| | | } |
| | | if(GPIO_EXTI_EXTIISR_ChkEx(ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN) == SET) |
| | | { |
| | | GPIO_EXTI_EXTIISR_ClrEx(ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN); |
| | | |
| | | // __SYS_STATUS_ALARM_BYTES_SET(alka_remove); |
| | | |
| | | pwr_vol_g.alka_lose_check_flag = SET; |
| | | } |
| | | |
| | | |
| | | if(GPIO_EXTI_EXTIISR_ChkEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN) == SET) //¼Æ·ÑµÍƵÂö³å |
| | | { |
| | | GPIO_EXTI_EXTIISR_ClrEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN); |
| | | //Ŀǰ½ö¿ªÆô¼Æ·ÑÂö³å¹¦ÄÜÇÒûÓб»¸´ÓòÅÐèÒª´¦Àí |
| | | if(((flow_meter_para_g.broken_line_multiplex & BROKEN_LINE_MUTIPLEX_PULSE)!=BROKEN_LINE_MUTIPLEX_PULSE)&& \ |
| | | ((flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_PULSE)||(flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_RS485_AND_PULSE))){ |
| | | pulse_exti_flag = SET; |
| | | BTx_CR1_CHEN_Setable(BT1,ENABLE); //¿ªÆô¶¨Ê±Æ÷ |
| | | } |
| | | } |
| | | |
| | | if(GPIO_EXTI_EXTIISR_ChkEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN) == SET) //ÍâµçÒÆ³ýÖÐ¶Ï |
| | | { |
| | | GPIO_EXTI_EXTIISR_ClrEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN); |
| | | //ÍâµçÒÆ³ýÁËÁ¢¼´¹Ø±ÕÍâµç¿ØÖÆ |
| | | EX_PWR_OFF; |
| | | // __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL); |
| | | |
| | | } |
| | | |
| | | |
| | | if(GPIO_EXTI_EXTIISR_ChkEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN) == SET) //ÏÞÁ÷´¥·¢ |
| | | { |
| | | GPIO_EXTI_EXTIISR_ClrEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN); |
| | | //¼Ç¼ÏÞÁ÷´¥·¢Ê±µÄÐÅÏ¢ |
| | | arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g.year,&limit_trigger_record_para_g.record_time_BCD.year,sizeof(sys_clockBCD_g),LITTLE_ENDIAN); |
| | | limit_trigger_record_para_g.trigger_times ++; |
| | | limit_trigger_record_para_g.RS485_running_flag = sys_fun_run_ctrl_g.rs485_ctrl_flag.running_flag; |
| | | limit_trigger_record_para_g.valve_running_flag = sys_fun_run_ctrl_g.valve_ctrl_flag.running_flag; |
| | | limit_trigger_record_para_g.wrc_running_flag = sys_fun_run_ctrl_g.wrc_ctrl_flag.running_flag; |
| | | limit_trigger_record_para_g.EXPWR_check_status = HWIDO_EX_PWR_IO_READ; |
| | | limit_trigger_record_para_g.EXPWR_ctrl_status = __SYS_STATUS_BYTES_GET(power_state); |
| | | } |
| | | |
| | | |
| | | // 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); |
| | |
| | | ////#endif |
| | | //// } |
| | | //// } |
| | | // if(GPIO_EXTI_EXTIISR_ChkEx(LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN) == SET) |
| | | // { |
| | | // GPIO_EXTI_EXTIISR_ClrEx(LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN); |
| | | //#ifdef RS232_PRINTF |
| | | // printf("﮵çµôµç\r\n"); |
| | | //#endif |
| | | // __SYS_STATUS_ALARM_BYTES_SET(lith_remove); |
| | | // pwr_vol_g.lith_vcc_per = 0; |
| | | // SLAVE_PWR_OFF; //µôµçºóС°åµçѹ²»ÎÈ£¬»á²úÉúÁ÷Á¿Êý¾Ý»ìÂÒ£¬´Ó¶øµ¼Ö¸÷ÖÖ·ÇÕý³£±¨¾¯£¬ËùÒÔÐèÒª¹Ø±ÕµçÔ´£¬»Ö¸´ºóÔÙ¿ªÆô¡£ |
| | | //// pwr_vol_g.lith_flag = LMS_PERIOD; // µôµçºóÁ¢Âí²É¼¯Ò»´ÎµçÁ¿ |
| | | // } |
| | | // if(GPIO_EXTI_EXTIISR_ChkEx(ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN) == SET) |
| | | // { |
| | | // GPIO_EXTI_EXTIISR_ClrEx(ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN); |
| | | //#ifdef RS232_PRINTF |
| | | // printf("¼îµçµôµç\r\n"); |
| | | //#endif |
| | | // __SYS_STATUS_ALARM_BYTES_SET(alka_remove); |
| | | // |
| | | //// pwr_vol_g.alka_flag = AMS_PERIOD; // µôµçºóÁ¢Âí²É¼¯Ò»´ÎµçÁ¿ |
| | | // } |
| | | |
| | | } |
| | | |
| | | void All_Exti_Init(void) |
| | |
| | | // |
| | | // GPIO_EXTI_Init( KEYA_S1_PORT, KEYA_S1_PIN, EXTI_FALLING, ENABLE); //ÊäÈëÖжϴò¿ª¡¢Ï½µÑØ´¥·¢¡¢¿ªÆôÊý×ÖÂ˲¨ //PD6 |
| | | // GPIO_EXTI_Init( VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN, EXTI_RISING, ENABLE); //PA1 |
| | | // GPIO_EXTI_Init( LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN, EXTI_FALLING, ENABLE); //PF11 |
| | | // GPIO_EXTI_Init( LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN, EXTI_FALLING, ENABLE); //PF11 |
| | | //// GPIO_EXTI_Init( LIT_PWR_UNDER_PORT, LIT_PWR_UNDER_PIN, EXTI_FALLING, ENABLE); //PF6 |
| | | // GPIO_EXTI_Init( ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN, EXTI_FALLING, ENABLE); //PA4 |
| | | // GPIO_EXTI_Init( ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN, EXTI_FALLING, ENABLE); //PA4 |
| | | //// GPIO_EXTI_Init( UNCAP_DETECTION_PORT, UNCAP_DETECTION_PIN, EXTI_RISING, ENABLE); //PF5 |
| | | |
| | | //// GPIO_PINWKSEL_SetEx(PINWKEN_PF5,GPIO_PINWKEN_PINWKSEL_RISING); |