#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ʹÄÜ
|
}
|