#include "exti.h"
|
#include "key.h"
|
#include "gpio.h"
|
#include "uart.h"
|
#include "e2p.h"
|
#include "valve_control.h"
|
#include "power_manage.h"
|
#include "lcd.h"
|
#include "master_slave_inter.h"
|
#include "low_pwr_test.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(KEYA_S1_PORT, KEYA_S1_PIN) == SET)
|
// {
|
// GPIO_EXTI_EXTIISR_ClrEx(KEYA_S1_PORT, KEYA_S1_PIN);
|
// GPIO_EXTI_Close(KEYA_S1_PORT,KEYA_S1_PIN);
|
// InfraRed_Uart0_Clk_Init();
|
// Key_Awaken_Init();
|
// Botton_LPTimer_Clk_Init();
|
// LPTIM_CR_EN_Setable(ENABLE);
|
//#ifdef RS232_PRINTF
|
// printf("KEYA_EXTI\r\n");
|
//#endif
|
// __SYS_DELAY_SEC_FLAG_CLEAR_(sys_active_time); // Çå³ýϵͳ¼¤»îʱ¼ä±ê־λ
|
// pwr_vol_g.lith_flag = LMS_KEY; // »½ÐѺóÁ¢Âí²É¼¯Ò»´ÎµçÁ¿
|
// pwr_vol_g.alka_flag = AMS_KEY;
|
// if(GPIO_ReadOutputDataBit(LCD_PWR_GPIO_PORT,LCD_PWR_PIN) == Bit_RESET)
|
// Lcd_Sys_Init(); // °´¼ü»½ÐÑÆÁÄ»
|
// }
|
// 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);
|
}
|