#include "exti.h" #include "key.h" #include "gpio.h" #include "uart.h" #include "eeprom.h" #include "extern_rtc.h" #include "system_general_para.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) { GPIO_EXTI_EXTIISR_ClrEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN); sys_run_period = 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 //// } //// } // 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) { // 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( LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_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( 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); }