ACMP - Analog Comparator#

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. */
CMU_ClockEnable(cmuClock_HFPER, true);
CMU_ClockEnable(cmuClock_ACMP0, true);

/* Initialize with default settings. */
ACMP_Init_TypeDef init = ACMP_INIT_DEFAULT;
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. */
ACMP_VBConfig_TypeDef vbconfig = ACMP_VBCONFIG_DEFAULT;
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. */
ACMP_ChannelSet(ACMP0, acmpInputVBDIV, acmpInputAPORT0XCH0);

/* 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.

Modules#

ACMP_CapsenseInit_TypeDef

ACMP_Init_TypeDef

ACMP_VAConfig_TypeDef

ACMP_VBConfig_TypeDef

Enumerations#

enum
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
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
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
acmpPowerSourceAvdd = _ACMP_CTRL_PWRSEL_AVDD
acmpPowerSourceDvdd = _ACMP_CTRL_PWRSEL_DVDD
acmpPowerSourceIOVdd0 = _ACMP_CTRL_PWRSEL_IOVDD0
acmpPowerSourceIOVdd1 = _ACMP_CTRL_PWRSEL_IOVDD1
}

ACMP Power source.

enum
acmpAccuracyLow = _ACMP_CTRL_ACCURACY_LOW
acmpAccuracyHigh = _ACMP_CTRL_ACCURACY_HIGH
}

ACMP accuracy mode.

enum
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
acmpVBInput1V25 = _ACMP_INPUTSEL_VBSEL_1V25
acmpVBInput2V5 = _ACMP_INPUTSEL_VBSEL_2V5
}

ACMP input to the VB divider.

enum
acmpVLPInputVADIV = _ACMP_INPUTSEL_VLPSEL_VADIV
acmpVLPInputVBDIV = _ACMP_INPUTSEL_VLPSEL_VBDIV
}

ACMP Low-Power Input Selection.

enum
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
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.

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_ChannelSet(ACMP_TypeDef *acmp, ACMP_Channel_TypeDef negSel, ACMP_Channel_TypeDef posSel)

Set which channels should be used in ACMP comparisons.

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_GPIOSetup(ACMP_TypeDef *acmp, uint32_t location, bool enable, bool invert)

Set up GPIO output from ACMP.

void
ACMP_Init(ACMP_TypeDef *acmp, const ACMP_Init_TypeDef *init)

Initialize ACMP.

void
ACMP_Reset(ACMP_TypeDef *acmp)

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

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

A default configuration for capacitive sense mode initialization.

#define

Default configuration for ACMP regular initialization.

#define

VA default configuration.

#define

VB default configuration.

Enumeration Documentation#

ACMP_CapsenseResistor_TypeDef#

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.


Definition at line 57 of file platform/emlib/inc/em_acmp.h

ACMP_HysteresisLevel_TypeDef#

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.


Definition at line 82 of file platform/emlib/inc/em_acmp.h

ACMP_InputRange_TypeDef#

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.


Definition at line 153 of file platform/emlib/inc/em_acmp.h

ACMP_PowerSource_TypeDef#

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).


Definition at line 169 of file platform/emlib/inc/em_acmp.h

ACMP_Accuracy_TypeDef#

ACMP_Accuracy_TypeDef

ACMP accuracy mode.

Enumerator
acmpAccuracyLow

Low-accuracy mode which consumes less current.

acmpAccuracyHigh

High-accuracy mode which consumes more current.


Definition at line 184 of file platform/emlib/inc/em_acmp.h

ACMP_VAInput_TypeDef#

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.


Definition at line 198 of file platform/emlib/inc/em_acmp.h

ACMP_VBInput_TypeDef#

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.


Definition at line 256 of file platform/emlib/inc/em_acmp.h

ACMP_VLPInput_Typedef#

ACMP_VLPInput_Typedef

ACMP Low-Power Input Selection.

Enumerator
acmpVLPInputVADIV

Mode VADIV for ACMP_INPUTSEL.

acmpVLPInputVBDIV

Mode VBDIV for ACMP_INPUTSEL.


Definition at line 266 of file platform/emlib/inc/em_acmp.h

ACMP_Channel_TypeDef#

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.


Definition at line 368 of file platform/emlib/inc/em_acmp.h

ACMP_ExternalInput_Typedef#

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.


Definition at line 591 of file platform/emlib/inc/em_acmp.h

Function Documentation#

ACMP_CapsenseInit#

void ACMP_CapsenseInit (ACMP_TypeDef * acmp, const ACMP_CapsenseInit_TypeDef * init)

Set up ACMP for use in capacitive sense applications.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]init

A pointer to the initialization structure used to configure ACMP for capacitive sensing operation.

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).


Definition at line 166 of file platform/emlib/src/em_acmp.c

ACMP_CapsenseChannelSet#

void ACMP_CapsenseChannelSet (ACMP_TypeDef * acmp, ACMP_Channel_TypeDef channel)

Set the ACMP channel used for capacitive sensing.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]channel

The ACMP channel to use for capacitive sensing (Possel).

Note

  • A basic example of capacitive sensing can be found in the STK BSP (capsense demo).


Definition at line 248 of file platform/emlib/src/em_acmp.c

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]acmp

A pointer to the ACMP peripheral register block.

N/AnegSel

A channel to use on the negative input to the ACMP.

N/AposSel

A channel to use on the positive input to the ACMP.


Definition at line 507 of file platform/emlib/src/em_acmp.c

ACMP_Disable#

void ACMP_Disable (ACMP_TypeDef * acmp)

Disable ACMP.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.


Definition at line 286 of file platform/emlib/src/em_acmp.c

ACMP_Enable#

void ACMP_Enable (ACMP_TypeDef * acmp)

Enable ACMP.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.


Definition at line 315 of file platform/emlib/src/em_acmp.c

ACMP_ExternalInputSelect#

void ACMP_ExternalInputSelect (ACMP_TypeDef * acmp, ACMP_ExternalInput_Typedef aport)

Select and enable external input.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]aport

This parameter decides which APORT(s) the ACMP will use when it's controlled by an external module.

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.


Definition at line 344 of file platform/emlib/src/em_acmp.c

ACMP_GPIOSetup#

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

Set up GPIO output from ACMP.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

N/Alocation

The pin location to use. See the data sheet for location to pin mappings.

N/Aenable

Enable or disable pin output.

N/Ainvert

Invert output.

Note

  • GPIO must be enabled in the CMU before this function call, i.e.,

    CMU_ClockEnable(cmuClock_GPIO, true); 

Definition at line 462 of file platform/emlib/src/em_acmp.c

ACMP_Init#

void ACMP_Init (ACMP_TypeDef * acmp, const ACMP_Init_TypeDef * init)

Initialize ACMP.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]init

A pointer to the initialization structure used to configure ACMP.


Definition at line 580 of file platform/emlib/src/em_acmp.c

ACMP_Reset#

void ACMP_Reset (ACMP_TypeDef * acmp)

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

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

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.


Definition at line 367 of file platform/emlib/src/em_acmp.c

ACMP_VASetup#

void ACMP_VASetup (ACMP_TypeDef * acmp, const ACMP_VAConfig_TypeDef * vaconfig)

Set up the VA source.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]vaconfig

A pointer to the structure used to configure the VA source. This structure contains the input source and the 2 divider values.


Definition at line 668 of file platform/emlib/src/em_acmp.c

ACMP_VBSetup#

void ACMP_VBSetup (ACMP_TypeDef * acmp, const ACMP_VBConfig_TypeDef * vbconfig)

Set up the VB Source.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]vbconfig

A pointer to the structure used to configure the VB source. This structure contains the input source and the 2 divider values.


Definition at line 694 of file platform/emlib/src/em_acmp.c

ACMP_IntClear#

void ACMP_IntClear (ACMP_TypeDef * acmp, uint32_t flags)

Clear one or more pending ACMP interrupts.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]flags

Pending 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.


Definition at line 993 of file platform/emlib/inc/em_acmp.h

ACMP_IntDisable#

void ACMP_IntDisable (ACMP_TypeDef * acmp, uint32_t flags)

Disable one or more ACMP interrupts.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]flags

ACMP 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.


Definition at line 1014 of file platform/emlib/inc/em_acmp.h

ACMP_IntEnable#

void ACMP_IntEnable (ACMP_TypeDef * acmp, uint32_t flags)

Enable one or more ACMP interrupts.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]flags

ACMP 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.

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.


Definition at line 1036 of file platform/emlib/inc/em_acmp.h

ACMP_IntGet#

uint32_t ACMP_IntGet (ACMP_TypeDef * acmp)

Get pending ACMP interrupt flags.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

Note

  • This function does not clear event bits.

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.


Definition at line 1060 of file platform/emlib/inc/em_acmp.h

ACMP_IntGetEnabled#

uint32_t ACMP_IntGetEnabled (ACMP_TypeDef * acmp)

Get enabled and pending ACMP interrupt flags.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

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

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).


Definition at line 1084 of file platform/emlib/inc/em_acmp.h

ACMP_IntSet#

void ACMP_IntSet (ACMP_TypeDef * acmp, uint32_t flags)

Set one or more pending ACMP interrupts from software.

Parameters
[in]acmp

A pointer to the ACMP peripheral register block.

[in]flags

ACMP 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.


Definition at line 1108 of file platform/emlib/inc/em_acmp.h

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.


Definition at line 710 of file platform/emlib/inc/em_acmp.h

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.


Definition at line 855 of file platform/emlib/inc/em_acmp.h

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.


Definition at line 913 of file platform/emlib/inc/em_acmp.h

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.


Definition at line 947 of file platform/emlib/inc/em_acmp.h