MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Cmp_1

Overview

Data Structures

struct  cmp_config_t
 CMP configuration structure. More...
 

Enumerations

enum  _cmp_input_mux {
  kCMP_InputVREF = 0U,
  kCMP_Input1 = 1U,
  kCMP_Input2 = 2U,
  kCMP_Input3 = 3U,
  kCMP_Input4 = 4U,
  kCMP_Input5 = 5U
}
 CMP input mux for positive and negative sides. More...
 
enum  _cmp_interrupt_type {
  kCMP_EdgeDisable = 0U,
  kCMP_EdgeRising = 2U,
  kCMP_EdgeFalling = 4U,
  kCMP_EdgeRisingFalling = 6U,
  kCMP_LevelDisable = 1U,
  kCMP_LevelHigh = 3U,
  kCMP_LevelLow = 5U
}
 CMP interrupt type. More...
 
enum  cmp_vref_source_t {
  KCMP_VREFSourceVDDA = 1U,
  KCMP_VREFSourceInternalVREF = 0U
}
 CMP Voltage Reference source. More...
 

Driver version

#define FSL_CMP_DRIVER_VERSION   (MAKE_VERSION(2U, 1U, 0U))
 Driver version 2.1.0. More...
 

Initialization and deinitialization

void CMP_Init (const cmp_config_t *config)
 CMP initialization. More...
 
void CMP_Deinit (void)
 CMP deinitialization. More...
 
void CMP_GetDefaultConfig (cmp_config_t *config)
 Initializes the CMP user configuration structure. More...
 

Compare Interface

static void CMP_SetInputChannels (uint8_t positiveChannel, uint8_t negativeChannel)
 
void CMP_SetVREF (const cmp_vref_config_t *config)
 Configures the VREFINPUT. More...
 
static bool CMP_GetOutput (void)
 Get CMP compare output. More...
 

Interrupt Interface

static void CMP_EnableInterrupt (uint32_t type)
 CMP enable interrupt. More...
 
static void CMP_DisableInterrupt (void)
 CMP disable interrupt.
 
static void CMP_ClearInterrupt (void)
 CMP clear interrupt.
 
static void CMP_EnableFilteredInterruptSource (bool enable)
 Select which Analog comparator output (filtered or un-filtered) is used for interrupt detection. More...
 

Status Interface

static bool CMP_GetPreviousInterruptStatus (void)
 Get CMP interrupt status before interupt enable. More...
 
static bool CMP_GetInterruptStatus (void)
 Get CMP interrupt status after interupt enable. More...
 

Data Structure Documentation

struct cmp_config_t

Data Fields

bool enableHysteresis
 Enable hysteresis. More...
 
bool enableLowPower
 Enable low power mode. More...
 

Field Documentation

bool cmp_config_t::enableHysteresis
bool cmp_config_t::enableLowPower

Macro Definition Documentation

#define FSL_CMP_DRIVER_VERSION   (MAKE_VERSION(2U, 1U, 0U))

Enumeration Type Documentation

Enumerator
kCMP_InputVREF 

Cmp input from VREF.

kCMP_Input1 

Cmp input source 1.

kCMP_Input2 

Cmp input source 2.

kCMP_Input3 

Cmp input source 3.

kCMP_Input4 

Cmp input source 4.

kCMP_Input5 

Cmp input source 5.

Enumerator
kCMP_EdgeDisable 

Disable edge interupt.

kCMP_EdgeRising 

Interrupt on falling edge.

kCMP_EdgeFalling 

Interrupt on rising edge.

kCMP_EdgeRisingFalling 

Interrupt on both rising and falling edges.

kCMP_LevelDisable 

Disable level interupt.

kCMP_LevelHigh 

Interrupt on high level.

kCMP_LevelLow 

Interrupt on low level.

Enumerator
KCMP_VREFSourceVDDA 

Select VDDA as VREF.

KCMP_VREFSourceInternalVREF 

Select internal VREF as VREF.

Function Documentation

void CMP_Init ( const cmp_config_t config)

This function enables the CMP module and do necessary settings.

Parameters
configPointer to the configuration structure.
void CMP_Deinit ( void  )

This function gates the clock for CMP module.

void CMP_GetDefaultConfig ( cmp_config_t config)

This function initializes the user configuration structure to these default values.

* config->enableHysteresis = true;
* config->enableLowPower = true;
* config->filterClockDivider = 0;
*
Parameters
configPointer to the configuration structure.
void CMP_SetVREF ( const cmp_vref_config_t *  config)
Parameters
configPointer to the configuration structure.
static bool CMP_GetOutput ( void  )
inlinestatic
Returns
The output result. true: voltage on positive side is greater than negative side. false: voltage on positive side is lower than negative side.
static void CMP_EnableInterrupt ( uint32_t  type)
inlinestatic
Parameters
typeCMP interrupt type. See "_cmp_interrupt_type".
static void CMP_EnableFilteredInterruptSource ( bool  enable)
inlinestatic
Parameters
enablefalse: Select Analog Comparator raw output (unfiltered) as input for interrupt detection. true: Select Analog Comparator filtered output as input for interrupt detection.
Note
: When CMP is configured as the wakeup source in power down mode, this function must use the raw output as the interupt source, that is, call this function and set parameter enable to false.
static bool CMP_GetPreviousInterruptStatus ( void  )
inlinestatic
Returns
Interrupt status. true: interrupt pending, false: no interrupt pending.
static bool CMP_GetInterruptStatus ( void  )
inlinestatic
Returns
Interrupt status. true: interrupt pending, false: no interrupt pending.