11 #ifndef __MG32L003_LVD_H 12 #define __MG32L003_LVD_H 59 #define LVD_FLTCLK_DISABLE (0x00000000U) 60 #define LVD_FLTCLK_PCLK (LVD_CR_FLTCLK_SEL_0) 61 #define LVD_FLTCLK_LSI (LVD_CR_FLTCLK_SEL_1) 63 #define IS_LVD_FLTCLK(FLTCLK) (((FLTCLK) == LVD_FLTCLK_DISABLE) || \ 64 ((FLTCLK) == LVD_FLTCLK_PCLK) || \ 65 ((FLTCLK) == LVD_FLTCLK_LSI)) 66 #define IS_LVD_FLTNUM(FLTNUM) (((FLTNUM) >= 0U) && ((FLTNUM) <= 0xFFFFU)) 74 #define LVD_TRIGGER_HIGHLEVEL (VCMP_CR1_HIGHINTEN) 75 #define LVD_TRIGGER_RISING (VCMP_CR1_RISEINTEN) 76 #define LVD_TRIGGER_FALLING (VCMP_CR1_FALLINTEN) 77 #define LVD_TRIGGER_BOTHEDGE (VCMP_CR1_RISEINTEN | VCMP_CR1_FALLINTEN) 78 #define LVD_TRIGGER_ALL (VCMP_CR1_HIGHINTEN | VCMP_CR1_RISEINTEN | VCMP_CR1_FALLINTEN) 80 #define IS_LVD_TRIGGER(LVD_TRIGGER) (((LVD_TRIGGER) == LVD_TRIGGER_HIGHLEVEL) || \ 81 ((LVD_TRIGGER) == LVD_TRIGGER_RISING) || \ 82 ((LVD_TRIGGER) == LVD_TRIGGER_FALLING) || \ 83 ((LVD_TRIGGER) == LVD_TRIGGER_BOTHEDGE) || \ 84 ((LVD_TRIGGER) == LVD_TRIGGER_ALL)) 92 #define LVD_VOLLEVEL_0 (0x00000000U) 93 #define LVD_VOLLEVEL_1 (LVD_CR_DIV_SEL_0) 94 #define LVD_VOLLEVEL_2 (LVD_CR_DIV_SEL_1) 95 #define LVD_VOLLEVEL_3 (LVD_CR_DIV_SEL_0 | LVD_CR_DIV_SEL_1) 96 #define LVD_VOLLEVEL_4 (LVD_CR_DIV_SEL_2) 97 #define LVD_VOLLEVEL_5 (LVD_CR_DIV_SEL_0 | LVD_CR_DIV_SEL_2) 98 #define LVD_VOLLEVEL_6 (LVD_CR_DIV_SEL_2 | LVD_CR_DIV_SEL_1) 99 #define LVD_VOLLEVEL_7 (LVD_CR_DIV_SEL_2 | LVD_CR_DIV_SEL_1 | LVD_CR_DIV_SEL_0) 101 #define LVD_VOLLEVEL_8 (LVD_CR_DIV_SEL_3) 102 #define LVD_VOLLEVEL_9 (LVD_CR_DIV_SEL_3 | LVD_CR_DIV_SEL_0) 103 #define LVD_VOLLEVEL_A (LVD_CR_DIV_SEL_3 | LVD_CR_DIV_SEL_1) 105 #define IS_LVD_VOLLEVEL(VOLLEVE) (((VOLLEVE) == LVD_VOLLEVEL_0) || ((VOLLEVE) == LVD_VOLLEVEL_1) || \ 106 ((VOLLEVE) == LVD_VOLLEVEL_2) || ((VOLLEVE) == LVD_VOLLEVEL_3) || \ 107 ((VOLLEVE) == LVD_VOLLEVEL_4) || ((VOLLEVE) == LVD_VOLLEVEL_5) || \ 108 ((VOLLEVE) == LVD_VOLLEVEL_6) || ((VOLLEVE) == LVD_VOLLEVEL_7) || \ 109 ((VOLLEVE) == LVD_VOLLEVEL_8) || ((VOLLEVE) == LVD_VOLLEVEL_9) || \ 110 ((VOLLEVE) == LVD_VOLLEVEL_A)) 118 #define LVD_ACTION_INTERRUPT (0x00000000U) 119 #define LVD_ACTION_RESET (LVD_CR_ACT) 121 #define IS_LVD_ACTION(ACTION) (((ACTION) == LVD_ACTION_INTERRUPT) || \ 122 ((ACTION) == LVD_ACTION_RESET)) 136 void LVD_Cmd(FunctionalState NewState);
138 void LVD_ITCmd(FunctionalState NewState);
LVD Configuration Structure definition.
Definition: mg32l003_lvd.h:31
void LVD_ITCmd(FunctionalState NewState)
Enables or disables LVD interrupt.
Definition: mg32l003_lvd.c:121
FlagStatus LVD_GetFlagStatus(void)
Checks whether LVD interrupt flag is set or not.
Definition: mg32l003_lvd.c:141
void LVD_Cmd(FunctionalState NewState)
Enables or disables the LVD peripheral.
Definition: mg32l003_lvd.c:100
uint32_t FltNum
Definition: mg32l003_lvd.h:45
uint32_t FltClkSel
Definition: mg32l003_lvd.h:33
void LVD_DeInit(void)
Deinitializes the LVD peripheral registers to their default reset values.
Definition: mg32l003_lvd.c:38
uint32_t TriggerSel
Definition: mg32l003_lvd.h:39
uint32_t Action
Definition: mg32l003_lvd.h:42
ITStatus LVD_GetITStatus(void)
Checks whether LVD interrupt is set or not.
Definition: mg32l003_lvd.c:165
void LVD_Init(LVD_InitTypeDef *InitStruct)
Initializes the LVD Unit according to the specified parameters in the LVD_InitTypeDef.
Definition: mg32l003_lvd.c:72
uint32_t VoltageLevel
Definition: mg32l003_lvd.h:36
void LVD_ClearFlag(void)
Clears the LVD flag.
Definition: mg32l003_lvd.c:199
void LVD_DIGFLT_Cmd(FunctionalState NewState)
Enables or disables the LVD digital filter.
Definition: mg32l003_lvd.c:50
void LVD_ClearITPendingBit(void)
Clears the LVD interrupt bit.
Definition: mg32l003_lvd.c:189