forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-12 f03cf3ae7a36954e64fc014e6bb7afd20c5a5247
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "svd.h"
#include "gpio.h"
#include "uart.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ʹÄÜ
}