#include "svd.h" #include "gpio.h" #include "uart.h" #include "power_manage.h" #include "main.h" #include "lcd.h" void SVD_IRQHandler(void) { if(SET == SVD_ISR_PFF_Chk())//ǷѹÖÐ¶Ï { SVD->VSR = SVD_VSR_V0P95EN_Msk; SVD_ISR_PFF_Clr(); __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 } else if(SET == SVD_ISR_PRF_Chk())//¹ýѹÖÐ¶Ï { SVD->VSR = SVD_VSR_V0P9EN_Msk; SVD_ISR_PRF_Clr(); __SYS_STATUS_BYTES_STATUS(lith_under, RESET, AV_LITH_UNDER); #ifdef RS232_PRINTF printf("﮵çǷѹ»Ö¸´\r\n"); #endif } } void SVD_IO_PF11_Init(void) { CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý AnalogIO(GPIOF,GPIO_Pin_11); GPIOx_ANEN_Setable(GPIOF,GPIO_Pin_11,ENABLE); } void SVD_SVS_Init(void) { SVD_InitTypeDef SVD_InitStruct; CMU_PERCLK_SetableEx(SVDCLK, ENABLE); //SVD×ÜÏßʱÖÓʹÄÜ SVD_InitStruct.SVDMOD = SVD_CFGR_MOD_ALWAYSON;//³£Ê¹ÄÜģʽ SVD_InitStruct.SVDITVL = SVD_CFGR_ITVL_1S;//¼äЪ¼ä¸ô1s SVD_InitStruct.SVDLVL = SVD_CFGR_LVL_SVS; SVD_InitStruct.DFEN = DISABLE; //Êý×ÖÂ˲¨ SVD_InitStruct.PFIE = DISABLE; //¹Ø±ÕǷѹÖÐ¶Ï SVD_InitStruct.PRIE = DISABLE; //¹Ø±Õ¹ýѹÖÐ¶Ï SVD_InitStruct.SVDEN = DISABLE; //¹Ø±ÕSVD SVD_Init(&SVD_InitStruct); SVD->VSR = SVD_VSR_V0P9EN_Msk;//»ù×¼µçѹ SVD_ISR_PFF_Clr(); //Çå³ýǷѹ±êÖ¾ SVD_IER_PFIE_Setable(ENABLE); //SVDµçÔ´µøÂäÖÐ¶Ï SVD_ISR_PRF_Clr(); //Çå³ý¹ýѹ±êÖ¾ SVD_IER_PRIE_Setable(ENABLE); //SVDµçÔ´»Ö¸´ÖÐ¶Ï NVIC_DisableIRQ(SVD_IRQn); //NVICÖжϿØÖÆÆ÷ÅäÖà NVIC_SetPriority(SVD_IRQn,2); NVIC_EnableIRQ(SVD_IRQn); SVD_CR_SVSEN_Setable(ENABLE); //ÍⲿµçÔ´¼ì²â SVD_CR_SVDEN_Setable(ENABLE); //SVDʹÄÜ }