ACMP - Analog Comparator

Description

Analog comparator (ACMP) Peripheral API.

The Analog Comparator is used to compare voltage of two analog inputs with a digital output indicating which input voltage is higher. Inputs can either be one of the selectable internal references or from external pins. Response time and current consumption can be configured by altering the current supply to the comparator.

ACMP is available down to EM3 and is able to wake up the system when input signals pass a certain threshold. Use ACMP_IntEnable() to enable an edge interrupt to use this functionality.

This example shows how to use the em_acmp.h API for comparing an input pin to an internal 2.5 V reference voltage.

/* The ACMP is a high-frequency peripheral so we need to enable
* both the HFPER clock and the ACMP0 clock. */
/* Initialize with default settings. */
init.enable = false;
ACMP_Init(ACMP0, &init);
/* In this example we want to compare an analog input to the 2.5 V
* internal reference. To achieve this we first have to configure the
* VB source which is used for internal reference voltages. */
vbconfig.input = acmpVBInput2V5;
ACMP_VBSetup(ACMP0, &vbconfig);
/* Now we select the two inputs to compare. Here we compare the APORT0XCH0
* input to the internal 2.5V reference that we previously configured. When
* APORT0XCH0 is lower than 2.5 V then the ACMP output is 0 and when
* APORT0XCH0 is is higher than 2.5 V then the ACMP output is 1. */
/* To be able to probe the output we can send the ACMP output to a pin.
* The second argument to this function is the pin location which is
* device dependent. */
ACMP_GPIOSetup(ACMP0, 0, true, false);
/* Finally we enable the ACMP. */
ACMP_Enable(ACMP0);
Note
ACMP can also be used to compare two separate input pins.

ACMP also contains specialized hardware for capacitive sensing. This module contains the ACMP_CapsenseInit() function to initialize ACMP for capacitive sensing and the ACMP_CapsenseChannelSet() function to select the current capsense channel.

For applications that require capacitive sensing it is recommended to use a library, such as cslib, which is provided by Silicon Labs.

Data Structures

struct  ACMP_CapsenseInit_TypeDef
 Capsense initialization structure.
 
struct  ACMP_Init_TypeDef
 ACMP initialization structure.
 
struct  ACMP_VAConfig_TypeDef
 VA Configuration structure.
 
struct  ACMP_VBConfig_TypeDef
 VB Configuration structure.
 

Functions

void ACMP_CapsenseInit (ACMP_TypeDef *acmp, const ACMP_CapsenseInit_TypeDef *init)
 Set up ACMP for use in capacitive sense applications.
 
void ACMP_CapsenseChannelSet (ACMP_TypeDef *acmp, ACMP_Channel_TypeDef channel)
 Set the ACMP channel used for capacitive sensing.
 
void ACMP_Disable (ACMP_TypeDef *acmp)
 Disable ACMP.
 
void ACMP_Enable (ACMP_TypeDef *acmp)
 Enable ACMP.
 
void ACMP_ExternalInputSelect (ACMP_TypeDef *acmp, ACMP_ExternalInput_Typedef aport)
 Select and enable external input.
 
void ACMP_Reset (ACMP_TypeDef *acmp)
 Reset ACMP to the same state that it was in after a hardware reset.
 
void ACMP_GPIOSetup (ACMP_TypeDef *acmp, uint32_t location, bool enable, bool invert)
 Set up GPIO output from ACMP.
 
void ACMP_ChannelSet (ACMP_TypeDef *acmp, ACMP_Channel_TypeDef negSel, ACMP_Channel_TypeDef posSel)
 Set which channels should be used in ACMP comparisons.
 
void ACMP_Init (ACMP_TypeDef *acmp, const ACMP_Init_TypeDef *init)
 Initialize ACMP.
 
void ACMP_VASetup (ACMP_TypeDef *acmp, const ACMP_VAConfig_TypeDef *vaconfig)
 Set up the VA source.
 
void ACMP_VBSetup (ACMP_TypeDef *acmp, const ACMP_VBConfig_TypeDef *vbconfig)
 Set up the VB Source.
 
void ACMP_IntClear (ACMP_TypeDef *acmp, uint32_t flags)
 Clear one or more pending ACMP interrupts.
 
void ACMP_IntDisable (ACMP_TypeDef *acmp, uint32_t flags)
 Disable one or more ACMP interrupts.
 
void ACMP_IntEnable (ACMP_TypeDef *acmp, uint32_t flags)
 Enable one or more ACMP interrupts.
 
uint32_t ACMP_IntGet (ACMP_TypeDef *acmp)
 Get pending ACMP interrupt flags.
 
uint32_t ACMP_IntGetEnabled (ACMP_TypeDef *acmp)
 Get enabled and pending ACMP interrupt flags.
 
void ACMP_IntSet (ACMP_TypeDef *acmp, uint32_t flags)
 Set one or more pending ACMP interrupts from software.
 

Macros

#define ACMP_CAPSENSE_INIT_DEFAULT
 A default configuration for capacitive sense mode initialization.
 
#define ACMP_INIT_DEFAULT
 Default configuration for ACMP regular initialization.
 
#define ACMP_VACONFIG_DEFAULT
 VA default configuration.
 
#define ACMP_VBCONFIG_DEFAULT
 VB default configuration.
 

Enumerations

enum  ACMP_CapsenseResistor_TypeDef {
  acmpResistor0 = _ACMP_INPUTSEL_CSRESSEL_RES0,
  acmpResistor1 = _ACMP_INPUTSEL_CSRESSEL_RES1,
  acmpResistor2 = _ACMP_INPUTSEL_CSRESSEL_RES2,
  acmpResistor3 = _ACMP_INPUTSEL_CSRESSEL_RES3,
  acmpResistor4 = _ACMP_INPUTSEL_CSRESSEL_RES4,
  acmpResistor5 = _ACMP_INPUTSEL_CSRESSEL_RES5,
  acmpResistor6 = _ACMP_INPUTSEL_CSRESSEL_RES6,
  acmpResistor7 = _ACMP_INPUTSEL_CSRESSEL_RES7
}
 Resistor values used for the internal capacitive sense resistor.
 
enum  ACMP_HysteresisLevel_TypeDef {
  acmpHysteresisLevel0 = _ACMP_HYSTERESIS0_HYST_HYST0,
  acmpHysteresisLevel1 = _ACMP_HYSTERESIS0_HYST_HYST1,
  acmpHysteresisLevel2 = _ACMP_HYSTERESIS0_HYST_HYST2,
  acmpHysteresisLevel3 = _ACMP_HYSTERESIS0_HYST_HYST3,
  acmpHysteresisLevel4 = _ACMP_HYSTERESIS0_HYST_HYST4,
  acmpHysteresisLevel5 = _ACMP_HYSTERESIS0_HYST_HYST5,
  acmpHysteresisLevel6 = _ACMP_HYSTERESIS0_HYST_HYST6,
  acmpHysteresisLevel7 = _ACMP_HYSTERESIS0_HYST_HYST7,
  acmpHysteresisLevel8 = _ACMP_HYSTERESIS0_HYST_HYST8,
  acmpHysteresisLevel9 = _ACMP_HYSTERESIS0_HYST_HYST9,
  acmpHysteresisLevel10 = _ACMP_HYSTERESIS0_HYST_HYST10,
  acmpHysteresisLevel11 = _ACMP_HYSTERESIS0_HYST_HYST11,
  acmpHysteresisLevel12 = _ACMP_HYSTERESIS0_HYST_HYST12,
  acmpHysteresisLevel13 = _ACMP_HYSTERESIS0_HYST_HYST13,
  acmpHysteresisLevel14 = _ACMP_HYSTERESIS0_HYST_HYST14,
  acmpHysteresisLevel15 = _ACMP_HYSTERESIS0_HYST_HYST15
}
 Hysteresis level.
 
enum  ACMP_InputRange_TypeDef {
  acmpInputRangeFull = _ACMP_CTRL_INPUTRANGE_FULL,
  acmpInputRangeHigh = _ACMP_CTRL_INPUTRANGE_GTVDDDIV2,
  acmpInputRangeLow = _ACMP_CTRL_INPUTRANGE_LTVDDDIV2
}
 Adjust ACMP performance for a given input voltage range.
 
enum  ACMP_PowerSource_TypeDef {
  acmpPowerSourceAvdd = _ACMP_CTRL_PWRSEL_AVDD,
  acmpPowerSourceDvdd = _ACMP_CTRL_PWRSEL_DVDD,
  acmpPowerSourceIOVdd0 = _ACMP_CTRL_PWRSEL_IOVDD0,
  acmpPowerSourceIOVdd1 = _ACMP_CTRL_PWRSEL_IOVDD1
}
 ACMP Power source.
 
enum  ACMP_Accuracy_TypeDef {
  acmpAccuracyLow = _ACMP_CTRL_ACCURACY_LOW,
  acmpAccuracyHigh = _ACMP_CTRL_ACCURACY_HIGH
}
 ACMP accuracy mode.
 
enum  ACMP_VAInput_TypeDef {
  acmpVAInputVDD = _ACMP_INPUTSEL_VASEL_VDD,
  acmpVAInputAPORT2YCH0 = _ACMP_INPUTSEL_VASEL_APORT2YCH0,
  acmpVAInputAPORT2YCH2 = _ACMP_INPUTSEL_VASEL_APORT2YCH2,
  acmpVAInputAPORT2YCH4 = _ACMP_INPUTSEL_VASEL_APORT2YCH4,
  acmpVAInputAPORT2YCH6 = _ACMP_INPUTSEL_VASEL_APORT2YCH6,
  acmpVAInputAPORT2YCH8 = _ACMP_INPUTSEL_VASEL_APORT2YCH8,
  acmpVAInputAPORT2YCH10 = _ACMP_INPUTSEL_VASEL_APORT2YCH10,
  acmpVAInputAPORT2YCH12 = _ACMP_INPUTSEL_VASEL_APORT2YCH12,
  acmpVAInputAPORT2YCH14 = _ACMP_INPUTSEL_VASEL_APORT2YCH14,
  acmpVAInputAPORT2YCH16 = _ACMP_INPUTSEL_VASEL_APORT2YCH16,
  acmpVAInputAPORT2YCH18 = _ACMP_INPUTSEL_VASEL_APORT2YCH18,
  acmpVAInputAPORT2YCH20 = _ACMP_INPUTSEL_VASEL_APORT2YCH20,
  acmpVAInputAPORT2YCH22 = _ACMP_INPUTSEL_VASEL_APORT2YCH22,
  acmpVAInputAPORT2YCH24 = _ACMP_INPUTSEL_VASEL_APORT2YCH24,
  acmpVAInputAPORT2YCH26 = _ACMP_INPUTSEL_VASEL_APORT2YCH26,
  acmpVAInputAPORT2YCH28 = _ACMP_INPUTSEL_VASEL_APORT2YCH28,
  acmpVAInputAPORT2YCH30 = _ACMP_INPUTSEL_VASEL_APORT2YCH30,
  acmpVAInputAPORT1XCH0 = _ACMP_INPUTSEL_VASEL_APORT1XCH0,
  acmpVAInputAPORT1YCH1 = _ACMP_INPUTSEL_VASEL_APORT1YCH1,
  acmpVAInputAPORT1XCH2 = _ACMP_INPUTSEL_VASEL_APORT1XCH2,
  acmpVAInputAPORT1YCH3 = _ACMP_INPUTSEL_VASEL_APORT1YCH3,
  acmpVAInputAPORT1XCH4 = _ACMP_INPUTSEL_VASEL_APORT1XCH4,
  acmpVAInputAPORT1YCH5 = _ACMP_INPUTSEL_VASEL_APORT1YCH5,
  acmpVAInputAPORT1XCH6 = _ACMP_INPUTSEL_VASEL_APORT1XCH6,
  acmpVAInputAPORT1YCH7 = _ACMP_INPUTSEL_VASEL_APORT1YCH7,
  acmpVAInputAPORT1XCH8 = _ACMP_INPUTSEL_VASEL_APORT1XCH8,
  acmpVAInputAPORT1YCH9 = _ACMP_INPUTSEL_VASEL_APORT1YCH9,
  acmpVAInputAPORT1XCH10 = _ACMP_INPUTSEL_VASEL_APORT1XCH10,
  acmpVAInputAPORT1YCH11 = _ACMP_INPUTSEL_VASEL_APORT1YCH11,
  acmpVAInputAPORT1XCH12 = _ACMP_INPUTSEL_VASEL_APORT1XCH12,
  acmpVAInputAPORT1YCH13 = _ACMP_INPUTSEL_VASEL_APORT1YCH13,
  acmpVAInputAPORT1XCH14 = _ACMP_INPUTSEL_VASEL_APORT1XCH14,
  acmpVAInputAPORT1YCH15 = _ACMP_INPUTSEL_VASEL_APORT1YCH15,
  acmpVAInputAPORT1XCH16 = _ACMP_INPUTSEL_VASEL_APORT1XCH16,
  acmpVAInputAPORT1YCH17 = _ACMP_INPUTSEL_VASEL_APORT1YCH17,
  acmpVAInputAPORT1XCH18 = _ACMP_INPUTSEL_VASEL_APORT1XCH18,
  acmpVAInputAPORT1YCH19 = _ACMP_INPUTSEL_VASEL_APORT1YCH19,
  acmpVAInputAPORT1XCH20 = _ACMP_INPUTSEL_VASEL_APORT1XCH20,
  acmpVAInputAPORT1YCH21 = _ACMP_INPUTSEL_VASEL_APORT1YCH21,
  acmpVAInputAPORT1XCH22 = _ACMP_INPUTSEL_VASEL_APORT1XCH22,
  acmpVAInputAPORT1YCH23 = _ACMP_INPUTSEL_VASEL_APORT1YCH23,
  acmpVAInputAPORT1XCH24 = _ACMP_INPUTSEL_VASEL_APORT1XCH24,
  acmpVAInputAPORT1YCH25 = _ACMP_INPUTSEL_VASEL_APORT1YCH25,
  acmpVAInputAPORT1XCH26 = _ACMP_INPUTSEL_VASEL_APORT1XCH26,
  acmpVAInputAPORT1YCH27 = _ACMP_INPUTSEL_VASEL_APORT1YCH27,
  acmpVAInputAPORT1XCH28 = _ACMP_INPUTSEL_VASEL_APORT1XCH28,
  acmpVAInputAPORT1YCH29 = _ACMP_INPUTSEL_VASEL_APORT1YCH29,
  acmpVAInputAPORT1XCH30 = _ACMP_INPUTSEL_VASEL_APORT1XCH30,
  acmpVAInputAPORT1YCH31 = _ACMP_INPUTSEL_VASEL_APORT1YCH31
}
 ACMP input to the VA divider.
 
enum  ACMP_VBInput_TypeDef {
  acmpVBInput1V25 = _ACMP_INPUTSEL_VBSEL_1V25,
  acmpVBInput2V5 = _ACMP_INPUTSEL_VBSEL_2V5
}
 ACMP input to the VB divider.
 
enum  ACMP_VLPInput_Typedef {
  acmpVLPInputVADIV = _ACMP_INPUTSEL_VLPSEL_VADIV,
  acmpVLPInputVBDIV = _ACMP_INPUTSEL_VLPSEL_VBDIV
}
 ACMP Low-Power Input Selection.
 
enum  ACMP_Channel_TypeDef {
  acmpInputAPORT0XCH0 = _ACMP_INPUTSEL_POSSEL_APORT0XCH0,
  acmpInputAPORT0XCH1 = _ACMP_INPUTSEL_POSSEL_APORT0XCH1,
  acmpInputAPORT0XCH2 = _ACMP_INPUTSEL_POSSEL_APORT0XCH2,
  acmpInputAPORT0XCH3 = _ACMP_INPUTSEL_POSSEL_APORT0XCH3,
  acmpInputAPORT0XCH4 = _ACMP_INPUTSEL_POSSEL_APORT0XCH4,
  acmpInputAPORT0XCH5 = _ACMP_INPUTSEL_POSSEL_APORT0XCH5,
  acmpInputAPORT0XCH6 = _ACMP_INPUTSEL_POSSEL_APORT0XCH6,
  acmpInputAPORT0XCH7 = _ACMP_INPUTSEL_POSSEL_APORT0XCH7,
  acmpInputAPORT0XCH8 = _ACMP_INPUTSEL_POSSEL_APORT0XCH8,
  acmpInputAPORT0XCH9 = _ACMP_INPUTSEL_POSSEL_APORT0XCH9,
  acmpInputAPORT0XCH10 = _ACMP_INPUTSEL_POSSEL_APORT0XCH10,
  acmpInputAPORT0XCH11 = _ACMP_INPUTSEL_POSSEL_APORT0XCH11,
  acmpInputAPORT0XCH12 = _ACMP_INPUTSEL_POSSEL_APORT0XCH12,
  acmpInputAPORT0XCH13 = _ACMP_INPUTSEL_POSSEL_APORT0XCH13,
  acmpInputAPORT0XCH14 = _ACMP_INPUTSEL_POSSEL_APORT0XCH14,
  acmpInputAPORT0XCH15 = _ACMP_INPUTSEL_POSSEL_APORT0XCH15,
  acmpInputAPORT0YCH0 = _ACMP_INPUTSEL_POSSEL_APORT0YCH0,
  acmpInputAPORT0YCH1 = _ACMP_INPUTSEL_POSSEL_APORT0YCH1,
  acmpInputAPORT0YCH2 = _ACMP_INPUTSEL_POSSEL_APORT0YCH2,
  acmpInputAPORT0YCH3 = _ACMP_INPUTSEL_POSSEL_APORT0YCH3,
  acmpInputAPORT0YCH4 = _ACMP_INPUTSEL_POSSEL_APORT0YCH4,
  acmpInputAPORT0YCH5 = _ACMP_INPUTSEL_POSSEL_APORT0YCH5,
  acmpInputAPORT0YCH6 = _ACMP_INPUTSEL_POSSEL_APORT0YCH6,
  acmpInputAPORT0YCH7 = _ACMP_INPUTSEL_POSSEL_APORT0YCH7,
  acmpInputAPORT0YCH8 = _ACMP_INPUTSEL_POSSEL_APORT0YCH8,
  acmpInputAPORT0YCH9 = _ACMP_INPUTSEL_POSSEL_APORT0YCH9,
  acmpInputAPORT0YCH10 = _ACMP_INPUTSEL_POSSEL_APORT0YCH10,
  acmpInputAPORT0YCH11 = _ACMP_INPUTSEL_POSSEL_APORT0YCH11,
  acmpInputAPORT0YCH12 = _ACMP_INPUTSEL_POSSEL_APORT0YCH12,
  acmpInputAPORT0YCH13 = _ACMP_INPUTSEL_POSSEL_APORT0YCH13,
  acmpInputAPORT0YCH14 = _ACMP_INPUTSEL_POSSEL_APORT0YCH14,
  acmpInputAPORT0YCH15 = _ACMP_INPUTSEL_POSSEL_APORT0YCH15,
  acmpInputAPORT1XCH0 = _ACMP_INPUTSEL_POSSEL_APORT1XCH0,
  acmpInputAPORT1YCH1 = _ACMP_INPUTSEL_POSSEL_APORT1YCH1,
  acmpInputAPORT1XCH2 = _ACMP_INPUTSEL_POSSEL_APORT1XCH2,
  acmpInputAPORT1YCH3 = _ACMP_INPUTSEL_POSSEL_APORT1YCH3,
  acmpInputAPORT1XCH4 = _ACMP_INPUTSEL_POSSEL_APORT1XCH4,
  acmpInputAPORT1YCH5 = _ACMP_INPUTSEL_POSSEL_APORT1YCH5,
  acmpInputAPORT1XCH6 = _ACMP_INPUTSEL_POSSEL_APORT1XCH6,
  acmpInputAPORT1YCH7 = _ACMP_INPUTSEL_POSSEL_APORT1YCH7,
  acmpInputAPORT1XCH8 = _ACMP_INPUTSEL_POSSEL_APORT1XCH8,
  acmpInputAPORT1YCH9 = _ACMP_INPUTSEL_POSSEL_APORT1YCH9,
  acmpInputAPORT1XCH10 = _ACMP_INPUTSEL_POSSEL_APORT1XCH10,
  acmpInputAPORT1YCH11 = _ACMP_INPUTSEL_POSSEL_APORT1YCH11,
  acmpInputAPORT1XCH12 = _ACMP_INPUTSEL_POSSEL_APORT1XCH12,
  acmpInputAPORT1YCH13 = _ACMP_INPUTSEL_POSSEL_APORT1YCH13,
  acmpInputAPORT1XCH14 = _ACMP_INPUTSEL_POSSEL_APORT1XCH14,
  acmpInputAPORT1YCH15 = _ACMP_INPUTSEL_POSSEL_APORT1YCH15,
  acmpInputAPORT1XCH16 = _ACMP_INPUTSEL_POSSEL_APORT1XCH16,
  acmpInputAPORT1YCH17 = _ACMP_INPUTSEL_POSSEL_APORT1YCH17,
  acmpInputAPORT1XCH18 = _ACMP_INPUTSEL_POSSEL_APORT1XCH18,
  acmpInputAPORT1YCH19 = _ACMP_INPUTSEL_POSSEL_APORT1YCH19,
  acmpInputAPORT1XCH20 = _ACMP_INPUTSEL_POSSEL_APORT1XCH20,
  acmpInputAPORT1YCH21 = _ACMP_INPUTSEL_POSSEL_APORT1YCH21,
  acmpInputAPORT1XCH22 = _ACMP_INPUTSEL_POSSEL_APORT1XCH22,
  acmpInputAPORT1YCH23 = _ACMP_INPUTSEL_POSSEL_APORT1YCH23,
  acmpInputAPORT1XCH24 = _ACMP_INPUTSEL_POSSEL_APORT1XCH24,
  acmpInputAPORT1YCH25 = _ACMP_INPUTSEL_POSSEL_APORT1YCH25,
  acmpInputAPORT1XCH26 = _ACMP_INPUTSEL_POSSEL_APORT1XCH26,
  acmpInputAPORT1YCH27 = _ACMP_INPUTSEL_POSSEL_APORT1YCH27,
  acmpInputAPORT1XCH28 = _ACMP_INPUTSEL_POSSEL_APORT1XCH28,
  acmpInputAPORT1YCH29 = _ACMP_INPUTSEL_POSSEL_APORT1YCH29,
  acmpInputAPORT1XCH30 = _ACMP_INPUTSEL_POSSEL_APORT1XCH30,
  acmpInputAPORT1YCH31 = _ACMP_INPUTSEL_POSSEL_APORT1YCH31,
  acmpInputAPORT2YCH0 = _ACMP_INPUTSEL_POSSEL_APORT2YCH0,
  acmpInputAPORT2XCH1 = _ACMP_INPUTSEL_POSSEL_APORT2XCH1,
  acmpInputAPORT2YCH2 = _ACMP_INPUTSEL_POSSEL_APORT2YCH2,
  acmpInputAPORT2XCH3 = _ACMP_INPUTSEL_POSSEL_APORT2XCH3,
  acmpInputAPORT2YCH4 = _ACMP_INPUTSEL_POSSEL_APORT2YCH4,
  acmpInputAPORT2XCH5 = _ACMP_INPUTSEL_POSSEL_APORT2XCH5,
  acmpInputAPORT2YCH6 = _ACMP_INPUTSEL_POSSEL_APORT2YCH6,
  acmpInputAPORT2XCH7 = _ACMP_INPUTSEL_POSSEL_APORT2XCH7,
  acmpInputAPORT2YCH8 = _ACMP_INPUTSEL_POSSEL_APORT2YCH8,
  acmpInputAPORT2XCH9 = _ACMP_INPUTSEL_POSSEL_APORT2XCH9,
  acmpInputAPORT2YCH10 = _ACMP_INPUTSEL_POSSEL_APORT2YCH10,
  acmpInputAPORT2XCH11 = _ACMP_INPUTSEL_POSSEL_APORT2XCH11,
  acmpInputAPORT2YCH12 = _ACMP_INPUTSEL_POSSEL_APORT2YCH12,
  acmpInputAPORT2XCH13 = _ACMP_INPUTSEL_POSSEL_APORT2XCH13,
  acmpInputAPORT2YCH14 = _ACMP_INPUTSEL_POSSEL_APORT2YCH14,
  acmpInputAPORT2XCH15 = _ACMP_INPUTSEL_POSSEL_APORT2XCH15,
  acmpInputAPORT2YCH16 = _ACMP_INPUTSEL_POSSEL_APORT2YCH16,
  acmpInputAPORT2XCH17 = _ACMP_INPUTSEL_POSSEL_APORT2XCH17,
  acmpInputAPORT2YCH18 = _ACMP_INPUTSEL_POSSEL_APORT2YCH18,
  acmpInputAPORT2XCH19 = _ACMP_INPUTSEL_POSSEL_APORT2XCH19,
  acmpInputAPORT2YCH20 = _ACMP_INPUTSEL_POSSEL_APORT2YCH20,
  acmpInputAPORT2XCH21 = _ACMP_INPUTSEL_POSSEL_APORT2XCH21,
  acmpInputAPORT2YCH22 = _ACMP_INPUTSEL_POSSEL_APORT2YCH22,
  acmpInputAPORT2XCH23 = _ACMP_INPUTSEL_POSSEL_APORT2XCH23,
  acmpInputAPORT2YCH24 = _ACMP_INPUTSEL_POSSEL_APORT2YCH24,
  acmpInputAPORT2XCH25 = _ACMP_INPUTSEL_POSSEL_APORT2XCH25,
  acmpInputAPORT2YCH26 = _ACMP_INPUTSEL_POSSEL_APORT2YCH26,
  acmpInputAPORT2XCH27 = _ACMP_INPUTSEL_POSSEL_APORT2XCH27,
  acmpInputAPORT2YCH28 = _ACMP_INPUTSEL_POSSEL_APORT2YCH28,
  acmpInputAPORT2XCH29 = _ACMP_INPUTSEL_POSSEL_APORT2XCH29,
  acmpInputAPORT2YCH30 = _ACMP_INPUTSEL_POSSEL_APORT2YCH30,
  acmpInputAPORT2XCH31 = _ACMP_INPUTSEL_POSSEL_APORT2XCH31,
  acmpInputAPORT3XCH0 = _ACMP_INPUTSEL_POSSEL_APORT3XCH0,
  acmpInputAPORT3YCH1 = _ACMP_INPUTSEL_POSSEL_APORT3YCH1,
  acmpInputAPORT3XCH2 = _ACMP_INPUTSEL_POSSEL_APORT3XCH2,
  acmpInputAPORT3YCH3 = _ACMP_INPUTSEL_POSSEL_APORT3YCH3,
  acmpInputAPORT3XCH4 = _ACMP_INPUTSEL_POSSEL_APORT3XCH4,
  acmpInputAPORT3YCH5 = _ACMP_INPUTSEL_POSSEL_APORT3YCH5,
  acmpInputAPORT3XCH6 = _ACMP_INPUTSEL_POSSEL_APORT3XCH6,
  acmpInputAPORT3YCH7 = _ACMP_INPUTSEL_POSSEL_APORT3YCH7,
  acmpInputAPORT3XCH8 = _ACMP_INPUTSEL_POSSEL_APORT3XCH8,
  acmpInputAPORT3YCH9 = _ACMP_INPUTSEL_POSSEL_APORT3YCH9,
  acmpInputAPORT3XCH10 = _ACMP_INPUTSEL_POSSEL_APORT3XCH10,
  acmpInputAPORT3YCH11 = _ACMP_INPUTSEL_POSSEL_APORT3YCH11,
  acmpInputAPORT3XCH12 = _ACMP_INPUTSEL_POSSEL_APORT3XCH12,
  acmpInputAPORT3YCH13 = _ACMP_INPUTSEL_POSSEL_APORT3YCH13,
  acmpInputAPORT3XCH14 = _ACMP_INPUTSEL_POSSEL_APORT3XCH14,
  acmpInputAPORT3YCH15 = _ACMP_INPUTSEL_POSSEL_APORT3YCH15,
  acmpInputAPORT3XCH16 = _ACMP_INPUTSEL_POSSEL_APORT3XCH16,
  acmpInputAPORT3YCH17 = _ACMP_INPUTSEL_POSSEL_APORT3YCH17,
  acmpInputAPORT3XCH18 = _ACMP_INPUTSEL_POSSEL_APORT3XCH18,
  acmpInputAPORT3YCH19 = _ACMP_INPUTSEL_POSSEL_APORT3YCH19,
  acmpInputAPORT3XCH20 = _ACMP_INPUTSEL_POSSEL_APORT3XCH20,
  acmpInputAPORT3YCH21 = _ACMP_INPUTSEL_POSSEL_APORT3YCH21,
  acmpInputAPORT3XCH22 = _ACMP_INPUTSEL_POSSEL_APORT3XCH22,
  acmpInputAPORT3YCH23 = _ACMP_INPUTSEL_POSSEL_APORT3YCH23,
  acmpInputAPORT3XCH24 = _ACMP_INPUTSEL_POSSEL_APORT3XCH24,
  acmpInputAPORT3YCH25 = _ACMP_INPUTSEL_POSSEL_APORT3YCH25,
  acmpInputAPORT3XCH26 = _ACMP_INPUTSEL_POSSEL_APORT3XCH26,
  acmpInputAPORT3YCH27 = _ACMP_INPUTSEL_POSSEL_APORT3YCH27,
  acmpInputAPORT3XCH28 = _ACMP_INPUTSEL_POSSEL_APORT3XCH28,
  acmpInputAPORT3YCH29 = _ACMP_INPUTSEL_POSSEL_APORT3YCH29,
  acmpInputAPORT3XCH30 = _ACMP_INPUTSEL_POSSEL_APORT3XCH30,
  acmpInputAPORT3YCH31 = _ACMP_INPUTSEL_POSSEL_APORT3YCH31,
  acmpInputAPORT4YCH0 = _ACMP_INPUTSEL_POSSEL_APORT4YCH0,
  acmpInputAPORT4XCH1 = _ACMP_INPUTSEL_POSSEL_APORT4XCH1,
  acmpInputAPORT4YCH2 = _ACMP_INPUTSEL_POSSEL_APORT4YCH2,
  acmpInputAPORT4XCH3 = _ACMP_INPUTSEL_POSSEL_APORT4XCH3,
  acmpInputAPORT4YCH4 = _ACMP_INPUTSEL_POSSEL_APORT4YCH4,
  acmpInputAPORT4XCH5 = _ACMP_INPUTSEL_POSSEL_APORT4XCH5,
  acmpInputAPORT4YCH6 = _ACMP_INPUTSEL_POSSEL_APORT4YCH6,
  acmpInputAPORT4XCH7 = _ACMP_INPUTSEL_POSSEL_APORT4XCH7,
  acmpInputAPORT4YCH8 = _ACMP_INPUTSEL_POSSEL_APORT4YCH8,
  acmpInputAPORT4XCH9 = _ACMP_INPUTSEL_POSSEL_APORT4XCH9,
  acmpInputAPORT4YCH10 = _ACMP_INPUTSEL_POSSEL_APORT4YCH10,
  acmpInputAPORT4XCH11 = _ACMP_INPUTSEL_POSSEL_APORT4XCH11,
  acmpInputAPORT4YCH12 = _ACMP_INPUTSEL_POSSEL_APORT4YCH12,
  acmpInputAPORT4XCH13 = _ACMP_INPUTSEL_POSSEL_APORT4XCH13,
  acmpInputAPORT4YCH16 = _ACMP_INPUTSEL_POSSEL_APORT4YCH16,
  acmpInputAPORT4XCH17 = _ACMP_INPUTSEL_POSSEL_APORT4XCH17,
  acmpInputAPORT4YCH18 = _ACMP_INPUTSEL_POSSEL_APORT4YCH18,
  acmpInputAPORT4XCH19 = _ACMP_INPUTSEL_POSSEL_APORT4XCH19,
  acmpInputAPORT4YCH20 = _ACMP_INPUTSEL_POSSEL_APORT4YCH20,
  acmpInputAPORT4XCH21 = _ACMP_INPUTSEL_POSSEL_APORT4XCH21,
  acmpInputAPORT4YCH22 = _ACMP_INPUTSEL_POSSEL_APORT4YCH22,
  acmpInputAPORT4XCH23 = _ACMP_INPUTSEL_POSSEL_APORT4XCH23,
  acmpInputAPORT4YCH24 = _ACMP_INPUTSEL_POSSEL_APORT4YCH24,
  acmpInputAPORT4XCH25 = _ACMP_INPUTSEL_POSSEL_APORT4XCH25,
  acmpInputAPORT4YCH26 = _ACMP_INPUTSEL_POSSEL_APORT4YCH26,
  acmpInputAPORT4XCH27 = _ACMP_INPUTSEL_POSSEL_APORT4XCH27,
  acmpInputAPORT4YCH28 = _ACMP_INPUTSEL_POSSEL_APORT4YCH28,
  acmpInputAPORT4XCH29 = _ACMP_INPUTSEL_POSSEL_APORT4XCH29,
  acmpInputAPORT4YCH30 = _ACMP_INPUTSEL_POSSEL_APORT4YCH30,
  acmpInputAPORT4YCH14 = _ACMP_INPUTSEL_POSSEL_APORT4YCH14,
  acmpInputAPORT4XCH15 = _ACMP_INPUTSEL_POSSEL_APORT4XCH15,
  acmpInputAPORT4XCH31 = _ACMP_INPUTSEL_POSSEL_APORT4XCH31,
  acmpInputDACOUT0 = _ACMP_INPUTSEL_POSSEL_DACOUT0,
  acmpInputDACOUT1 = _ACMP_INPUTSEL_POSSEL_DACOUT1,
  acmpInputVLP = _ACMP_INPUTSEL_POSSEL_VLP,
  acmpInputVBDIV = _ACMP_INPUTSEL_POSSEL_VBDIV,
  acmpInputVADIV = _ACMP_INPUTSEL_POSSEL_VADIV,
  acmpInputVDD = _ACMP_INPUTSEL_POSSEL_VDD,
  acmpInputVSS = _ACMP_INPUTSEL_POSSEL_VSS
}
 ACMP Input Selection.
 
enum  ACMP_ExternalInput_Typedef {
  acmpExternalInputAPORT0X = _ACMP_EXTIFCTRL_APORTSEL_APORT0X,
  acmpExternalInputAPORT0Y = _ACMP_EXTIFCTRL_APORTSEL_APORT0Y,
  acmpExternalInputAPORT1X = _ACMP_EXTIFCTRL_APORTSEL_APORT1X,
  acmpExternalInputAPORT1Y = _ACMP_EXTIFCTRL_APORTSEL_APORT1Y,
  acmpExternalInputAPORT1XY = _ACMP_EXTIFCTRL_APORTSEL_APORT1XY,
  acmpExternalInputAPORT2X = _ACMP_EXTIFCTRL_APORTSEL_APORT2X,
  acmpExternalInputAPORT2Y = _ACMP_EXTIFCTRL_APORTSEL_APORT2Y,
  acmpExternalInputAPORT2YX = _ACMP_EXTIFCTRL_APORTSEL_APORT2YX,
  acmpExternalInputAPORT3X = _ACMP_EXTIFCTRL_APORTSEL_APORT3X,
  acmpExternalInputAPORT3Y = _ACMP_EXTIFCTRL_APORTSEL_APORT3Y,
  acmpExternalInputAPORT3XY = _ACMP_EXTIFCTRL_APORTSEL_APORT3XY,
  acmpExternalInputAPORT4X = _ACMP_EXTIFCTRL_APORTSEL_APORT4X,
  acmpExternalInputAPORT4Y = _ACMP_EXTIFCTRL_APORTSEL_APORT4Y,
  acmpExternalInputAPORT4YX = _ACMP_EXTIFCTRL_APORTSEL_APORT4YX
}
 ACMP external input select.
 

Function Documentation

◆ ACMP_CapsenseInit()

void ACMP_CapsenseInit ( ACMP_TypeDef *  acmp,
const ACMP_CapsenseInit_TypeDef init 
)

Set up ACMP for use in capacitive sense applications.

This function sets up ACMP for use in capacitive sense applications. To use the capacitive sense functionality in the ACMP, use the PRS output of the ACMP module to count the number of oscillations in the capacitive sense circuit (possibly using a TIMER).

Note
A basic example of capacitive sensing can be found in the STK BSP (capsense demo).
Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]initA pointer to the initialization structure used to configure ACMP for capacitive sensing operation.

◆ ACMP_CapsenseChannelSet()

void ACMP_CapsenseChannelSet ( ACMP_TypeDef *  acmp,
ACMP_Channel_TypeDef  channel 
)

Set the ACMP channel used for capacitive sensing.

Note
A basic example of capacitive sensing can be found in the STK BSP (capsense demo).
Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]channelThe ACMP channel to use for capacitive sensing (Possel).

◆ ACMP_Disable()

void ACMP_Disable ( ACMP_TypeDef *  acmp)

Disable ACMP.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.

◆ ACMP_Enable()

void ACMP_Enable ( ACMP_TypeDef *  acmp)

Enable ACMP.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.

◆ ACMP_ExternalInputSelect()

void ACMP_ExternalInputSelect ( ACMP_TypeDef *  acmp,
ACMP_ExternalInput_Typedef  aport 
)

Select and enable external input.

This is used when an external module needs to take control of the ACMP POSSEL field to configure the APORT input for the ACMP. Modules, such as LESENSE, use this to change the ACMP input during a scan sequence.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]aportThis parameter decides which APORT(s) the ACMP will use when it's controlled by an external module.

◆ ACMP_Reset()

void ACMP_Reset ( ACMP_TypeDef *  acmp)

Reset ACMP to the same state that it was in after a hardware reset.

Note
The GPIO ACMP ROUTE register is NOT reset by this function to allow for centralized setup of this feature.
The peripheral may be enabled and disabled during reset.
Parameters
[in]acmpA pointer to the ACMP peripheral register block.

◆ ACMP_GPIOSetup()

void ACMP_GPIOSetup ( ACMP_TypeDef *  acmp,
uint32_t  location,
bool  enable,
bool  invert 
)

Set up GPIO output from ACMP.

Note
GPIO must be enabled in the CMU before this function call, i.e.,
CMU_ClockEnable(cmuClock_GPIO, true); 
Parameters
[in]acmpA pointer to the ACMP peripheral register block.
locationThe pin location to use. See the data sheet for location to pin mappings.
enableEnable or disable pin output.
invertInvert output.

◆ ACMP_ChannelSet()

void ACMP_ChannelSet ( ACMP_TypeDef *  acmp,
ACMP_Channel_TypeDef  negSel,
ACMP_Channel_TypeDef  posSel 
)

Set which channels should be used in ACMP comparisons.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
negSelA channel to use on the negative input to the ACMP.
posSelA channel to use on the positive input to the ACMP.

◆ ACMP_Init()

void ACMP_Init ( ACMP_TypeDef *  acmp,
const ACMP_Init_TypeDef init 
)

Initialize ACMP.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]initA pointer to the initialization structure used to configure ACMP.

◆ ACMP_VASetup()

void ACMP_VASetup ( ACMP_TypeDef *  acmp,
const ACMP_VAConfig_TypeDef vaconfig 
)

Set up the VA source.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]vaconfigA pointer to the structure used to configure the VA source. This structure contains the input source and the 2 divider values.

◆ ACMP_VBSetup()

void ACMP_VBSetup ( ACMP_TypeDef *  acmp,
const ACMP_VBConfig_TypeDef vbconfig 
)

Set up the VB Source.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]vbconfigA pointer to the structure used to configure the VB source. This structure contains the input source and the 2 divider values.

◆ ACMP_IntClear()

void ACMP_IntClear ( ACMP_TypeDef *  acmp,
uint32_t  flags 
)
inline

Clear one or more pending ACMP interrupts.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]flagsPending ACMP interrupt source to clear. Use a bitwise logic OR combination of valid interrupt flags for the ACMP module. The flags can be, for instance, ACMP_IFC_EDGE or ACMP_IFC_WARMUP.

◆ ACMP_IntDisable()

void ACMP_IntDisable ( ACMP_TypeDef *  acmp,
uint32_t  flags 
)
inline

Disable one or more ACMP interrupts.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]flagsACMP interrupt sources to disable. Use a bitwise logic OR combination of valid interrupt flags for the ACMP module. The flags can be, for instance, ACMP_IEN_EDGE or ACMP_IEN_WARMUP.

◆ ACMP_IntEnable()

void ACMP_IntEnable ( ACMP_TypeDef *  acmp,
uint32_t  flags 
)
inline

Enable one or more ACMP interrupts.

Note
Depending on the use, a pending interrupt may already be set prior to enabling the interrupt. Consider using ACMP_IntClear() prior to enabling if a pending interrupt should be ignored.
Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]flagsACMP interrupt sources to enable. Use a bitwise logic OR combination of valid interrupt flags for the ACMP module. The flags can be, for instance, ACMP_IEN_EDGE or ACMP_IEN_WARMUP.

◆ ACMP_IntGet()

uint32_t ACMP_IntGet ( ACMP_TypeDef *  acmp)
inline

Get pending ACMP interrupt flags.

Note
This function does not clear event bits.
Parameters
[in]acmpA pointer to the ACMP peripheral register block.
Returns
Pending ACMP interrupt sources. A bitwise logic OR combination of valid interrupt flags for the ACMP module. The pending interrupt sources can be, for instance, ACMP_IF_EDGE or ACMP_IF_WARMUP.

◆ ACMP_IntGetEnabled()

uint32_t ACMP_IntGetEnabled ( ACMP_TypeDef *  acmp)
inline

Get enabled and pending ACMP interrupt flags.

Useful for handling more interrupt sources in the same interrupt handler.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
Note
This function does not clear interrupt flags.
Returns
Pending and enabled ACMP interrupt sources. The return value is the bitwise AND combination of
  • the OR combination of enabled interrupt sources in ACMPx_IEN_nnn register (ACMPx_IEN_nnn) and
  • the OR combination of valid interrupt flags of the ACMP module (ACMPx_IF_nnn).

◆ ACMP_IntSet()

void ACMP_IntSet ( ACMP_TypeDef *  acmp,
uint32_t  flags 
)
inline

Set one or more pending ACMP interrupts from software.

Parameters
[in]acmpA pointer to the ACMP peripheral register block.
[in]flagsACMP interrupt sources to set as pending. Use a bitwise logic OR combination of valid interrupt flags for the ACMP module. The flags can be, for instance, ACMP_IFS_EDGE or ACMP_IFS_WARMUP.

Macro Definition Documentation

◆ ACMP_CAPSENSE_INIT_DEFAULT

#define ACMP_CAPSENSE_INIT_DEFAULT
Value:
{ \
false, /* Don't use fullBias to lower power consumption. */ \
0x20, /* Using biasProg value of 0x20 (32). */ \
acmpHysteresisLevel8, /* Use hysteresis level 8 when ACMP output is 0. */ \
acmpHysteresisLevel8, /* Use hysteresis level 8 when ACMP output is 1. */ \
acmpResistor5, /* Use internal resistor value 5. */ \
0x30, /* VDD level high. */ \
0x10, /* VDD level low. */ \
true /* Enable after initialization. */ \
}

A default configuration for capacitive sense mode initialization.

◆ ACMP_INIT_DEFAULT

#define ACMP_INIT_DEFAULT
Value:
{ \
false, /* fullBias */ \
0x7, /* biasProg */ \
false, /* No interrupt on falling edge. */ \
false, /* No interrupt on rising edge. */ \
acmpInputRangeFull, /* Input range from 0 to VDD. */ \
acmpAccuracyLow, /* Low accuracy, less current usage. */ \
acmpPowerSourceAvdd, /* Use the AVDD supply. */ \
acmpHysteresisLevel5, /* Use hysteresis level 5 when output is 0 */ \
acmpHysteresisLevel5, /* Use hysteresis level 5 when output is 1 */ \
acmpVLPInputVADIV, /* Use VADIV as the VLP input source. */ \
false, /* Output 0 when ACMP is inactive. */ \
true /* Enable after init. */ \
}

Default configuration for ACMP regular initialization.

◆ ACMP_VACONFIG_DEFAULT

#define ACMP_VACONFIG_DEFAULT
Value:
{ \
acmpVAInputVDD, /* Use VDD as VA voltage input source. */ \
63, /* No division of the VA source when ACMP output is 0. */ \
63, /* No division of the VA source when ACMP output is 1. */ \
}

VA default configuration.

◆ ACMP_VBCONFIG_DEFAULT

#define ACMP_VBCONFIG_DEFAULT
Value:
{ \
acmpVBInput1V25, /* Use 1.25 V as VB voltage input source. */ \
63, /* No division of the VB source when ACMP output is 0. */ \
63, /* No division of the VB source when ACMP output is 1. */ \
}

VB default configuration.

Enumeration Type Documentation

◆ ACMP_CapsenseResistor_TypeDef

Resistor values used for the internal capacitive sense resistor.

See data sheet for your device for details on each resistor value.

Enumerator
acmpResistor0 

Resistor value 0.

acmpResistor1 

Resistor value 1.

acmpResistor2 

Resistor value 2.

acmpResistor3 

Resistor value 3.

acmpResistor4 

Resistor value 4.

acmpResistor5 

Resistor value 5.

acmpResistor6 

Resistor value 6.

acmpResistor7 

Resistor value 7.

◆ ACMP_HysteresisLevel_TypeDef

Hysteresis level.

See data sheet for your device for details on each level.

Enumerator
acmpHysteresisLevel0 

Hysteresis level 0.

acmpHysteresisLevel1 

Hysteresis level 1.

acmpHysteresisLevel2 

Hysteresis level 2.

acmpHysteresisLevel3 

Hysteresis level 3.

acmpHysteresisLevel4 

Hysteresis level 4.

acmpHysteresisLevel5 

Hysteresis level 5.

acmpHysteresisLevel6 

Hysteresis level 6.

acmpHysteresisLevel7 

Hysteresis level 7.

acmpHysteresisLevel8 

Hysteresis level 8.

acmpHysteresisLevel9 

Hysteresis level 9.

acmpHysteresisLevel10 

Hysteresis level 10.

acmpHysteresisLevel11 

Hysteresis level 11.

acmpHysteresisLevel12 

Hysteresis level 12.

acmpHysteresisLevel13 

Hysteresis level 13.

acmpHysteresisLevel14 

Hysteresis level 14.

acmpHysteresisLevel15 

Hysteresis level 15.

◆ ACMP_InputRange_TypeDef

Adjust ACMP performance for a given input voltage range.

Enumerator
acmpInputRangeFull 

Input can be from 0 to VDD.

acmpInputRangeHigh 

Input will always be greater than VDD/2.

acmpInputRangeLow 

Input will always be less than VDD/2.

◆ ACMP_PowerSource_TypeDef

ACMP Power source.

Enumerator
acmpPowerSourceAvdd 

Power ACMP using the AVDD supply.

acmpPowerSourceDvdd 

Power ACMP using the DVDD supply.

acmpPowerSourceIOVdd0 

Power ACMP using the IOVDD/IOVDD0 supply.

acmpPowerSourceIOVdd1 

Power ACMP using the IOVDD1 supply (if the part has two I/O voltages).

◆ ACMP_Accuracy_TypeDef

ACMP accuracy mode.

Enumerator
acmpAccuracyLow 

Low-accuracy mode which consumes less current.

acmpAccuracyHigh 

High-accuracy mode which consumes more current.

◆ ACMP_VAInput_TypeDef

ACMP input to the VA divider.

This enumeration is used to select the input for the VA Divider.

Enumerator
acmpVAInputVDD 

Select VDD for the VA divider.

acmpVAInputAPORT2YCH0 

Select APORT2Y CHannel 0 for the VA divider.

acmpVAInputAPORT2YCH2 

Select APORT2Y CHannel 2 for the VA divider.

acmpVAInputAPORT2YCH4 

Select APORT2Y CHannel 4 for the VA divider.

acmpVAInputAPORT2YCH6 

Select APORT2Y CHannel 6 for the VA divider.

acmpVAInputAPORT2YCH8 

Select APORT2Y CHannel 8 for the VA divider.

acmpVAInputAPORT2YCH10 

Select APORT2Y CHannel 10 for the VA divider.

acmpVAInputAPORT2YCH12 

Select APORT2Y CHannel 12 for the VA divider.

acmpVAInputAPORT2YCH14 

Select APORT2Y CHannel 14 for the VA divider.

acmpVAInputAPORT2YCH16 

Select APORT2Y CHannel 16 for the VA divider.

acmpVAInputAPORT2YCH18 

Select APORT2Y CHannel 18 for the VA divider.

acmpVAInputAPORT2YCH20 

Select APORT2Y CHannel 20 for the VA divider.

acmpVAInputAPORT2YCH22 

Select APORT2Y CHannel 22 for the VA divider.

acmpVAInputAPORT2YCH24 

Select APORT2Y CHannel 24 for the VA divider.

acmpVAInputAPORT2YCH26 

Select APORT2Y CHannel 26 for the VA divider.

acmpVAInputAPORT2YCH28 

Select APORT2Y CHannel 28 for the VA divider.

acmpVAInputAPORT2YCH30 

Select APORT2Y CHannel 30 for the VA divider.

acmpVAInputAPORT1XCH0 

Select APORT1X CHannel 0 for the VA divider.

acmpVAInputAPORT1YCH1 

Select APORT1Y CHannel 1 for the VA divider.

acmpVAInputAPORT1XCH2 

Select APORT1X CHannel 2 for the VA divider.

acmpVAInputAPORT1YCH3 

Select APORT1Y CHannel 3 for the VA divider.

acmpVAInputAPORT1XCH4 

Select APORT1X CHannel 4 for the VA divider.

acmpVAInputAPORT1YCH5 

Select APORT1Y CHannel 5 for the VA divider.

acmpVAInputAPORT1XCH6 

Select APORT1X CHannel 6 for the VA divider.

acmpVAInputAPORT1YCH7 

Select APORT1Y CHannel 7 for the VA divider.

acmpVAInputAPORT1XCH8 

Select APORT1X CHannel 8 for the VA divider.

acmpVAInputAPORT1YCH9 

Select APORT1Y CHannel 9 for the VA divider.

acmpVAInputAPORT1XCH10 

Select APORT1X CHannel 10 for the VA divider.

acmpVAInputAPORT1YCH11 

Select APORT1Y CHannel 11 for the VA divider.

acmpVAInputAPORT1XCH12 

Select APORT1X CHannel 12 for the VA divider.

acmpVAInputAPORT1YCH13 

Select APORT1Y CHannel 13 for the VA divider.

acmpVAInputAPORT1XCH14 

Select APORT1X CHannel 14 for the VA divider.

acmpVAInputAPORT1YCH15 

Select APORT1Y CHannel 15 for the VA divider.

acmpVAInputAPORT1XCH16 

Select APORT1X CHannel 16 for the VA divider.

acmpVAInputAPORT1YCH17 

Select APORT1Y CHannel 17 for the VA divider.

acmpVAInputAPORT1XCH18 

Select APORT1X CHannel 18 for the VA divider.

acmpVAInputAPORT1YCH19 

Select APORT1Y CHannel 19 for the VA divider.

acmpVAInputAPORT1XCH20 

Select APORT1X CHannel 20 for the VA divider.

acmpVAInputAPORT1YCH21 

Select APORT1Y CHannel 21 for the VA divider.

acmpVAInputAPORT1XCH22 

Select APORT1X CHannel 22 for the VA divider.

acmpVAInputAPORT1YCH23 

Select APORT1Y CHannel 23 for the VA divider.

acmpVAInputAPORT1XCH24 

Select APORT1X CHannel 24 for the VA divider.

acmpVAInputAPORT1YCH25 

Select APORT1Y CHannel 25 for the VA divider.

acmpVAInputAPORT1XCH26 

Select APORT1X CHannel 26 for the VA divider.

acmpVAInputAPORT1YCH27 

Select APORT1Y CHannel 27 for the VA divider.

acmpVAInputAPORT1XCH28 

Select APORT1X CHannel 28 for the VA divider.

acmpVAInputAPORT1YCH29 

Select APORT1Y CHannel 29 for the VA divider.

acmpVAInputAPORT1XCH30 

Select APORT1X CHannel 30 for the VA divider.

acmpVAInputAPORT1YCH31 

Select APORT1Y CHannel 31 for the VA divider.

◆ ACMP_VBInput_TypeDef

ACMP input to the VB divider.

This enumeration is used to select the input for the VB divider.

Enumerator
acmpVBInput1V25 

Mode 1V25 for ACMP_INPUTSEL.

acmpVBInput2V5 

Mode 2V5 for ACMP_INPUTSEL.

◆ ACMP_VLPInput_Typedef

ACMP Low-Power Input Selection.

Enumerator
acmpVLPInputVADIV 

Mode VADIV for ACMP_INPUTSEL.

acmpVLPInputVBDIV 

Mode VBDIV for ACMP_INPUTSEL.

◆ ACMP_Channel_TypeDef

ACMP Input Selection.

Enumerator
acmpInputAPORT0XCH0 

Select Dedicated APORT0X CHannel 0.

acmpInputAPORT0XCH1 

Select Dedicated APORT0X CHannel 1.

acmpInputAPORT0XCH2 

Select Dedicated APORT0X CHannel 2.

acmpInputAPORT0XCH3 

Select Dedicated APORT0X CHannel 3.

acmpInputAPORT0XCH4 

Select Dedicated APORT0X CHannel 4.

acmpInputAPORT0XCH5 

Select Dedicated APORT0X CHannel 5.

acmpInputAPORT0XCH6 

Select Dedicated APORT0X CHannel 6.

acmpInputAPORT0XCH7 

Select Dedicated APORT0X CHannel 7.

acmpInputAPORT0XCH8 

Select Dedicated APORT0X CHannel 8.

acmpInputAPORT0XCH9 

Select Dedicated APORT0X CHannel 9.

acmpInputAPORT0XCH10 

Select Dedicated APORT0X CHannel 10.

acmpInputAPORT0XCH11 

Select Dedicated APORT0X CHannel 11.

acmpInputAPORT0XCH12 

Select Dedicated APORT0X CHannel 12.

acmpInputAPORT0XCH13 

Select Dedicated APORT0X CHannel 13.

acmpInputAPORT0XCH14 

Select Dedicated APORT0X CHannel 14.

acmpInputAPORT0XCH15 

Select Dedicated APORT0X CHannel 15.

acmpInputAPORT0YCH0 

Select Dedicated APORT0Y CHannel 0.

acmpInputAPORT0YCH1 

Select Dedicated APORT0Y CHannel 1.

acmpInputAPORT0YCH2 

Select Dedicated APORT0Y CHannel 2.

acmpInputAPORT0YCH3 

Select Dedicated APORT0Y CHannel 3.

acmpInputAPORT0YCH4 

Select Dedicated APORT0Y CHannel 4.

acmpInputAPORT0YCH5 

Select Dedicated APORT0Y CHannel 5.

acmpInputAPORT0YCH6 

Select Dedicated APORT0Y CHannel 6.

acmpInputAPORT0YCH7 

Select Dedicated APORT0Y CHannel 7.

acmpInputAPORT0YCH8 

Select Dedicated APORT0Y CHannel 8.

acmpInputAPORT0YCH9 

Select Dedicated APORT0Y CHannel 9.

acmpInputAPORT0YCH10 

Select Dedicated APORT0Y CHannel 10.

acmpInputAPORT0YCH11 

Select Dedicated APORT0Y CHannel 11.

acmpInputAPORT0YCH12 

Select Dedicated APORT0Y CHannel 12.

acmpInputAPORT0YCH13 

Select Dedicated APORT0Y CHannel 13.

acmpInputAPORT0YCH14 

Select Dedicated APORT0Y CHannel 14.

acmpInputAPORT0YCH15 

Select Dedicated APORT0Y CHannel 15.

acmpInputAPORT1XCH0 

Select Dedicated APORT1X CHannel 0.

acmpInputAPORT1YCH1 

Select Dedicated APORT1Y CHannel 1.

acmpInputAPORT1XCH2 

Select Dedicated APORT1X CHannel 2.

acmpInputAPORT1YCH3 

Select Dedicated APORT1Y CHannel 3.

acmpInputAPORT1XCH4 

Select Dedicated APORT1X CHannel 4.

acmpInputAPORT1YCH5 

Select Dedicated APORT1Y CHannel 5.

acmpInputAPORT1XCH6 

Select Dedicated APORT1X CHannel 6.

acmpInputAPORT1YCH7 

Select Dedicated APORT1Y CHannel 7.

acmpInputAPORT1XCH8 

Select Dedicated APORT1X CHannel 8.

acmpInputAPORT1YCH9 

Select Dedicated APORT1Y CHannel 9.

acmpInputAPORT1XCH10 

Select Dedicated APORT1X CHannel 10.

acmpInputAPORT1YCH11 

Select Dedicated APORT1Y CHannel 11.

acmpInputAPORT1XCH12 

Select Dedicated APORT1X CHannel 12.

acmpInputAPORT1YCH13 

Select Dedicated APORT1Y CHannel 13.

acmpInputAPORT1XCH14 

Select Dedicated APORT1X CHannel 14.

acmpInputAPORT1YCH15 

Select Dedicated APORT1Y CHannel 15.

acmpInputAPORT1XCH16 

Select Dedicated APORT1X CHannel 16.

acmpInputAPORT1YCH17 

Select Dedicated APORT1Y CHannel 17.

acmpInputAPORT1XCH18 

Select Dedicated APORT1X CHannel 18.

acmpInputAPORT1YCH19 

Select Dedicated APORT1Y CHannel 19.

acmpInputAPORT1XCH20 

Select Dedicated APORT1X CHannel 20.

acmpInputAPORT1YCH21 

Select Dedicated APORT1Y CHannel 21.

acmpInputAPORT1XCH22 

Select Dedicated APORT1X CHannel 22.

acmpInputAPORT1YCH23 

Select Dedicated APORT1Y CHannel 23.

acmpInputAPORT1XCH24 

Select Dedicated APORT1X CHannel 24.

acmpInputAPORT1YCH25 

Select Dedicated APORT1Y CHannel 25.

acmpInputAPORT1XCH26 

Select Dedicated APORT1X CHannel 26.

acmpInputAPORT1YCH27 

Select Dedicated APORT1Y CHannel 27.

acmpInputAPORT1XCH28 

Select Dedicated APORT1X CHannel 28.

acmpInputAPORT1YCH29 

Select Dedicated APORT1Y CHannel 29.

acmpInputAPORT1XCH30 

Select Dedicated APORT1X CHannel 30.

acmpInputAPORT1YCH31 

Select Dedicated APORT1Y CHannel 31.

acmpInputAPORT2YCH0 

Select Dedicated APORT2Y CHannel 0.

acmpInputAPORT2XCH1 

Select Dedicated APORT2X CHannel 1.

acmpInputAPORT2YCH2 

Select Dedicated APORT2Y CHannel 2.

acmpInputAPORT2XCH3 

Select Dedicated APORT2X CHannel 3.

acmpInputAPORT2YCH4 

Select Dedicated APORT2Y CHannel 4.

acmpInputAPORT2XCH5 

Select Dedicated APORT2X CHannel 5.

acmpInputAPORT2YCH6 

Select Dedicated APORT2Y CHannel 6.

acmpInputAPORT2XCH7 

Select Dedicated APORT2X CHannel 7.

acmpInputAPORT2YCH8 

Select Dedicated APORT2Y CHannel 8.

acmpInputAPORT2XCH9 

Select Dedicated APORT2X CHannel 9.

acmpInputAPORT2YCH10 

Select Dedicated APORT2Y CHannel 10.

acmpInputAPORT2XCH11 

Select Dedicated APORT2X CHannel 11.

acmpInputAPORT2YCH12 

Select Dedicated APORT2Y CHannel 12.

acmpInputAPORT2XCH13 

Select Dedicated APORT2X CHannel 13.

acmpInputAPORT2YCH14 

Select Dedicated APORT2Y CHannel 14.

acmpInputAPORT2XCH15 

Select Dedicated APORT2X CHannel 15.

acmpInputAPORT2YCH16 

Select Dedicated APORT2Y CHannel 16.

acmpInputAPORT2XCH17 

Select Dedicated APORT2X CHannel 17.

acmpInputAPORT2YCH18 

Select Dedicated APORT2Y CHannel 18.

acmpInputAPORT2XCH19 

Select Dedicated APORT2X CHannel 19.

acmpInputAPORT2YCH20 

Select Dedicated APORT2Y CHannel 20.

acmpInputAPORT2XCH21 

Select Dedicated APORT2X CHannel 21.

acmpInputAPORT2YCH22 

Select Dedicated APORT2Y CHannel 22.

acmpInputAPORT2XCH23 

Select Dedicated APORT2X CHannel 23.

acmpInputAPORT2YCH24 

Select Dedicated APORT2Y CHannel 24.

acmpInputAPORT2XCH25 

Select Dedicated APORT2X CHannel 25.

acmpInputAPORT2YCH26 

Select Dedicated APORT2Y CHannel 26.

acmpInputAPORT2XCH27 

Select Dedicated APORT2X CHannel 27.

acmpInputAPORT2YCH28 

Select Dedicated APORT2Y CHannel 28.

acmpInputAPORT2XCH29 

Select Dedicated APORT2X CHannel 29.

acmpInputAPORT2YCH30 

Select Dedicated APORT2Y CHannel 30.

acmpInputAPORT2XCH31 

Select Dedicated APORT2X CHannel 31.

acmpInputAPORT3XCH0 

Select Dedicated APORT3X CHannel 0.

acmpInputAPORT3YCH1 

Select Dedicated APORT3Y CHannel 1.

acmpInputAPORT3XCH2 

Select Dedicated APORT3X CHannel 2.

acmpInputAPORT3YCH3 

Select Dedicated APORT3Y CHannel 3.

acmpInputAPORT3XCH4 

Select Dedicated APORT3X CHannel 4.

acmpInputAPORT3YCH5 

Select Dedicated APORT3Y CHannel 5.

acmpInputAPORT3XCH6 

Select Dedicated APORT3X CHannel 6.

acmpInputAPORT3YCH7 

Select Dedicated APORT3Y CHannel 7.

acmpInputAPORT3XCH8 

Select Dedicated APORT3X CHannel 8.

acmpInputAPORT3YCH9 

Select Dedicated APORT3Y CHannel 9.

acmpInputAPORT3XCH10 

Select Dedicated APORT3X CHannel 10.

acmpInputAPORT3YCH11 

Select Dedicated APORT3Y CHannel 11.

acmpInputAPORT3XCH12 

Select Dedicated APORT3X CHannel 12.

acmpInputAPORT3YCH13 

Select Dedicated APORT3Y CHannel 13.

acmpInputAPORT3XCH14 

Select Dedicated APORT3X CHannel 14.

acmpInputAPORT3YCH15 

Select Dedicated APORT3Y CHannel 15.

acmpInputAPORT3XCH16 

Select Dedicated APORT3X CHannel 16.

acmpInputAPORT3YCH17 

Select Dedicated APORT3Y CHannel 17.

acmpInputAPORT3XCH18 

Select Dedicated APORT3X CHannel 18.

acmpInputAPORT3YCH19 

Select Dedicated APORT3Y CHannel 19.

acmpInputAPORT3XCH20 

Select Dedicated APORT3X CHannel 20.

acmpInputAPORT3YCH21 

Select Dedicated APORT3Y CHannel 21.

acmpInputAPORT3XCH22 

Select Dedicated APORT3X CHannel 22.

acmpInputAPORT3YCH23 

Select Dedicated APORT3Y CHannel 23.

acmpInputAPORT3XCH24 

Select Dedicated APORT3X CHannel 24.

acmpInputAPORT3YCH25 

Select Dedicated APORT3Y CHannel 25.

acmpInputAPORT3XCH26 

Select Dedicated APORT3X CHannel 26.

acmpInputAPORT3YCH27 

Select Dedicated APORT3Y CHannel 27.

acmpInputAPORT3XCH28 

Select Dedicated APORT3X CHannel 28.

acmpInputAPORT3YCH29 

Select Dedicated APORT3Y CHannel 29.

acmpInputAPORT3XCH30 

Select Dedicated APORT3X CHannel 30.

acmpInputAPORT3YCH31 

Select Dedicated APORT3Y CHannel 31.

acmpInputAPORT4YCH0 

Select Dedicated APORT4Y CHannel 0.

acmpInputAPORT4XCH1 

Select Dedicated APORT4X CHannel 1.

acmpInputAPORT4YCH2 

Select Dedicated APORT4Y CHannel 2.

acmpInputAPORT4XCH3 

Select Dedicated APORT4X CHannel 3.

acmpInputAPORT4YCH4 

Select Dedicated APORT4Y CHannel 4.

acmpInputAPORT4XCH5 

Select Dedicated APORT4X CHannel 5.

acmpInputAPORT4YCH6 

Select Dedicated APORT4Y CHannel 6.

acmpInputAPORT4XCH7 

Select Dedicated APORT4X CHannel 7.

acmpInputAPORT4YCH8 

Select Dedicated APORT4Y CHannel 8.

acmpInputAPORT4XCH9 

Select Dedicated APORT4X CHannel 9.

acmpInputAPORT4YCH10 

Select Dedicated APORT4Y CHannel 10.

acmpInputAPORT4XCH11 

Select Dedicated APORT4X CHannel 11.

acmpInputAPORT4YCH12 

Select Dedicated APORT4Y CHannel 12.

acmpInputAPORT4XCH13 

Select Dedicated APORT4X CHannel 13.

acmpInputAPORT4YCH16 

Select Dedicated APORT4Y CHannel 14.

acmpInputAPORT4XCH17 

Select Dedicated APORT4X CHannel 15.

acmpInputAPORT4YCH18 

Select Dedicated APORT4Y CHannel 16.

acmpInputAPORT4XCH19 

Select Dedicated APORT4X CHannel 17.

acmpInputAPORT4YCH20 

Select Dedicated APORT4Y CHannel 18.

acmpInputAPORT4XCH21 

Select Dedicated APORT4X CHannel 19.

acmpInputAPORT4YCH22 

Select Dedicated APORT4Y CHannel 20.

acmpInputAPORT4XCH23 

Select Dedicated APORT4X CHannel 21.

acmpInputAPORT4YCH24 

Select Dedicated APORT4Y CHannel 22.

acmpInputAPORT4XCH25 

Select Dedicated APORT4X CHannel 23.

acmpInputAPORT4YCH26 

Select Dedicated APORT4Y CHannel 24.

acmpInputAPORT4XCH27 

Select Dedicated APORT4X CHannel 25.

acmpInputAPORT4YCH28 

Select Dedicated APORT4Y CHannel 26.

acmpInputAPORT4XCH29 

Select Dedicated APORT4X CHannel 27.

acmpInputAPORT4YCH30 

Select Dedicated APORT4Y CHannel 28.

acmpInputAPORT4YCH14 

Select Dedicated APORT4X CHannel 29.

acmpInputAPORT4XCH15 

Select Dedicated APORT4Y CHannel 30.

acmpInputAPORT4XCH31 

Select Dedicated APORT4X CHannel 31.

acmpInputDACOUT0 

Select DAC Channel 0 Output.

acmpInputDACOUT1 

Select DAC Channel 1 Output.

acmpInputVLP 

Select Low-Power Sampled Voltage.

acmpInputVBDIV 

Select Divided VB Voltage.

acmpInputVADIV 

Select Divided VA Voltage.

acmpInputVDD 

ACMPVDD as selected via PWRSEL.

acmpInputVSS 

Select VSS.

◆ ACMP_ExternalInput_Typedef

ACMP external input select.

This type is used to select which APORT is used by an external module, such as LESENSE, when it's taking control over the ACMP input.

Enumerator
acmpExternalInputAPORT0X 

Select APORT0X as an external input.

acmpExternalInputAPORT0Y 

Select APORT0Y as an external input.

acmpExternalInputAPORT1X 

Select APORT1X as an external input.

acmpExternalInputAPORT1Y 

Select APORT1Y as an external input.

acmpExternalInputAPORT1XY 

Select APORT1XY as an external input.

acmpExternalInputAPORT2X 

Select APORT2X as an external input.

acmpExternalInputAPORT2Y 

Select APORT2Y as an external input.

acmpExternalInputAPORT2YX 

Select APORT2YX as an external input.

acmpExternalInputAPORT3X 

Select APORT3X as an external input.

acmpExternalInputAPORT3Y 

Select APORT3Y as an external input.

acmpExternalInputAPORT3XY 

Select APORT3XY as an external input.

acmpExternalInputAPORT4X 

Select APORT4X as an external input.

acmpExternalInputAPORT4Y 

Select APORT4Y as an external input.

acmpExternalInputAPORT4YX 

Select APORT4YX as an external input.