VCMP - Voltage Comparator#
Supply Voltage Comparator (VCMP) Peripheral API.
This module contains functions to control the VCMP peripheral of Silicon Labs 32-bit MCUs and SoCs. The VCMP monitors the input voltage supply and generates interrupts on events using as little as 100 nA.
Modules#
Enumerations#
Warm-up Time in High Frequency Peripheral Clock cycles.
Functions#
Configure and enable Voltage Comparator.
Enable or disable Low Power Reference setting.
Configure the trigger level of the voltage comparator.
Enable Voltage Comparator.
Disable Voltage Comparator.
Calculate voltage to trigger level.
Check whether VDD is lower than the trigger level.
Check whether VDD is higher than the trigger level.
Check whether the VCMP output is ready.
Clear one or more pending VCMP interrupts.
Set one or more pending VCMP interrupts from SW.
Disable one or more VCMP interrupts.
Enable one or more VCMP interrupts.
Get pending VCMP interrupt flags.
Get enabled and pending VCMP interrupt flags.
Macros#
Default VCMP initialization structure.
Enumeration Documentation#
VCMP_WarmTime_TypeDef#
VCMP_WarmTime_TypeDef
Warm-up Time in High Frequency Peripheral Clock cycles.
Enumerator | |
---|---|
vcmpWarmTime4Cycles | 4 cycles |
vcmpWarmTime8Cycles | 8 cycles |
vcmpWarmTime16Cycles | 16 cycles |
vcmpWarmTime32Cycles | 32 cycles |
vcmpWarmTime64Cycles | 64 cycles |
vcmpWarmTime128Cycles | 128 cycles |
vcmpWarmTime256Cycles | 256 cycles |
vcmpWarmTime512Cycles | 512 cycles |
54
of file platform/emlib/inc/em_vcmp.h
VCMP_Hysteresis_TypeDef#
VCMP_Hysteresis_TypeDef
Hysteresis configuration.
Enumerator | |
---|---|
vcmpHystNone | Normal operation, no hysteresis. |
vcmpHyst20mV | Digital output will not toggle until positive edge is at least 20 mV above or below negative input voltage. |
74
of file platform/emlib/inc/em_vcmp.h
Function Documentation#
VCMP_Init#
void VCMP_Init (const VCMP_Init_TypeDef * vcmpInit)
Configure and enable Voltage Comparator.
[in] | vcmpInit | The VCMP Initialization structure. |
53
of file platform/emlib/src/em_vcmp.c
VCMP_LowPowerRefSet#
void VCMP_LowPowerRefSet (bool enable)
Enable or disable Low Power Reference setting.
[in] | enable | If true, enables low power reference. If false, disable low power reference. |
133
of file platform/emlib/src/em_vcmp.c
VCMP_TriggerSet#
void VCMP_TriggerSet (int level)
Configure the trigger level of the voltage comparator.
[in] | level | A trigger value, in range 0-63. |
149
of file platform/emlib/src/em_vcmp.c
VCMP_Enable#
void VCMP_Enable (void )
Enable Voltage Comparator.
N/A |
139
of file platform/emlib/inc/em_vcmp.h
VCMP_Disable#
void VCMP_Disable (void )
Disable Voltage Comparator.
N/A |
148
of file platform/emlib/inc/em_vcmp.h
VCMP_VoltageToLevel#
uint32_t VCMP_VoltageToLevel (float v)
Calculate voltage to trigger level.
[in] | v | Voltage Level for trigger. |
Note
Soft float support is needed for this function to work.
Returns
Trigger level.
166
of file platform/emlib/inc/em_vcmp.h
VCMP_VDDLower#
bool VCMP_VDDLower (void )
Check whether VDD is lower than the trigger level.
N/A |
Returns
True if Voltage Comparator indicated VDD < trigger level, else returns false.
179
of file platform/emlib/inc/em_vcmp.h
VCMP_VDDHigher#
bool VCMP_VDDHigher (void )
Check whether VDD is higher than the trigger level.
N/A |
Returns
True if Voltage Comparator indicated VDD > trigger level, else returns false.
196
of file platform/emlib/inc/em_vcmp.h
VCMP_Ready#
bool VCMP_Ready (void )
Check whether the VCMP output is ready.
N/A |
Returns
True if VCMP output is ready.
212
of file platform/emlib/inc/em_vcmp.h
VCMP_IntClear#
void VCMP_IntClear (uint32_t flags)
Clear one or more pending VCMP interrupts.
[in] | flags | VCMP interrupt sources to clear. Use a set of interrupt flags OR-ed together to clear multiple interrupt sources for the VCMP module (VCMP_IFS_nnn). |
230
of file platform/emlib/inc/em_vcmp.h
VCMP_IntSet#
void VCMP_IntSet (uint32_t flags)
Set one or more pending VCMP interrupts from SW.
[in] | flags | VCMP interrupt sources to set to pending. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the VCMP module (VCMP_IFS_nnn). |
244
of file platform/emlib/inc/em_vcmp.h
VCMP_IntDisable#
void VCMP_IntDisable (uint32_t flags)
Disable one or more VCMP interrupts.
[in] | flags | VCMP interrupt sources to enable. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the VCMP module (VCMP_IFS_nnn). |
258
of file platform/emlib/inc/em_vcmp.h
VCMP_IntEnable#
void VCMP_IntEnable (uint32_t flags)
Enable one or more VCMP interrupts.
[in] | flags | VCMP interrupt sources to enable. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the VCMP module (VCMP_IFS_nnn). |
272
of file platform/emlib/inc/em_vcmp.h
VCMP_IntGet#
uint32_t VCMP_IntGet (void )
Get pending VCMP interrupt flags.
N/A |
Note
The event bits are not cleared by the use of this function.
Returns
Pending VCMP interrupt sources. Returns a set of interrupt flags OR-ed together for multiple interrupt sources in the VCMP module (VCMP_IFS_nnn).
288
of file platform/emlib/inc/em_vcmp.h
VCMP_IntGetEnabled#
uint32_t VCMP_IntGetEnabled (void )
Get enabled and pending VCMP interrupt flags.
N/A |
Useful for handling more interrupt sources in the same interrupt handler.
Note
The event bits are not cleared by the use of this function.
Returns
Pending and enabled VCMP interrupt sources. The return value is the bitwise AND combination of
the OR combination of enabled interrupt sources in VCMP_IEN_nnn register (VCMP_IEN_nnn) and
the OR combination of valid interrupt flags of the VCMP module (VCMP_IF_nnn).
311
of file platform/emlib/inc/em_vcmp.h
Macro Definition Documentation#
VCMP_INIT_DEFAULT#
#define VCMP_INIT_DEFAULTValue:
Default VCMP initialization structure.
113
of file platform/emlib/inc/em_vcmp.h