#include "exti.h" #include "key.h" #include "gpio.h" #include "uart.h" #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" void NMI_Handler(void) { // //NWKUPĬÈÏÁ¬½Óµ½ÁËcpuµÄNMI²»¿ÉÆÁ±ÎÖжϣ¬²»ÊÜNVIC¿ØÖÆ£¬²»ÊÜÈ«¾ÖÖжÏʹÄÜ¿ØÖÆ£¬»½ÐѺó±ØÈ»½øNMIÖÐ¶Ï // if( SET == PMU_WKFR_WKPxF_Chk(PINWKEN_PF5) ) // { // PMU_WKFR_WKPxF_Clr(PINWKEN_PF5); // __SYS_STATUS_ALARM_BYTES_SET(uncap_state_1); //#ifdef RS232_PRINTF // printf("¿ª¸Ç±¨¾¯\r\n"); //#endif // } } void GPIO_IRQHandler(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) //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(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(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN) == SET) // { // GPIO_EXTI_EXTIISR_ClrEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN); //#ifdef RS232_PRINTF // printf("Ç¿ÖÆ¿ª·§\r\n"); //#endif // } // //PF5 ºÍ PF6 ÊÇ Í¬Ò»ÖжÏÏß²»ÄÜͨ¹ýGPIO_EXTI_EXTIISR_ChkEx¸Ãº¯ÊýÇø·ÖÒý½Å // //¶þÕßÖжϱßÑØÖ»ÄÜÑ¡ÆäÒ» //// if(GPIO_EXTI_EXTIISR_ChkEx(LIT_PWR_UNDER_PORT, LIT_PWR_UNDER_PIN) == SET) //// { //// GPIO_EXTI_EXTIISR_ClrEx(LIT_PWR_UNDER_PORT, LIT_PWR_UNDER_PIN); //// if(GPIO_ReadInputDataBit(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN) == Bit_RESET) //// { //// __SYS_STATUS_ALARM_BYTES_SET(lith_under); //// pwr_vol_g.lith_flag = LMS_PERIOD; //// pwr_vol_g.lith_vcc_per = 0; ////#ifdef RS232_PRINTF //// printf("﮵çǷѹ\r\n"); ////#endif //// } //// if(GPIO_ReadInputDataBit(UNCAP_DETECTION_PORT,UNCAP_DETECTION_PIN) == Bit_SET) //// { //// __SYS_STATUS_ALARM_BYTES_SET(uncap_state_1); ////#ifdef RS232_PRINTF //// printf("¿ª¸Ç±¨¾¯\r\n"); ////#endif //// } //// } } void All_Exti_Init(void) { // CMU_OPCCR1_EXTICKSEL_Set(CMU_OPCCR1_EXTICKSEL_LSCLK);//EXTIÖжϲÉÑùʱÖÓÑ¡Ôñ // CMU_OPCCR1_EXTICKE_Setable(ENABLE); //EXTI¹¤×÷ʱÖÓʹÄÜ // // 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( 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( 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); //// GPIO_PINWKEN_SetableEx(PINWKEN_PF5,ENABLE);//ʹÄÜPB0µÄNWKUP1¹¦ÄÜ // /*NVICÖжÏÅäÖÃ*/ // NVIC_DisableIRQ(GPIO_IRQn); // NVIC_SetPriority(GPIO_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà // NVIC_EnableIRQ(GPIO_IRQn); }