| NUC029FAE_BSP V3.02.000 The Board Support Package for NUC029FAE MCU

Macros | Functions
ACMP Exported Functions
NUC029FAE Device Driver » ACMP Driver » ACMP Exported Constants
Collaboration diagram for ACMP Exported Functions:

## Macros
#define | ACMP_SET_NEG_SRC(acmp, u32ChNum, u32Src)
| This macro is used to select ACMP negative input source. More...
#define | ACMP_ENABLE_HYSTERESIS(acmp, u32ChNum)
| This macro is used to enable hysteresis function. More...
#define | ACMP_DISABLE_HYSTERESIS(acmp, u32ChNum)
| This macro is used to disable hysteresis function. More...
#define | ACMP_ENABLE_INT(acmp, u32ChNum)
| This macro is used to enable interrupt. More...
#define | ACMP_DISABLE_INT(acmp, u32ChNum)
| This macro is used to disable interrupt. More...
#define | ACMP_ENABLE(acmp, u32ChNum)
| This macro is used to enable ACMP. More...
#define | ACMP_DISABLE(acmp, u32ChNum)
| This macro is used to disable ACMP. More...
#define | ACMP_GET_OUTPUT(acmp, u32ChNum)
| This macro is used to get ACMP output value. More...
#define | ACMP_GET_INT_FLAG(acmp, u32ChNum)
| This macro is used to get ACMP interrupt flag. More...
#define | ACMP_CLR_INT_FLAG(acmp, u32ChNum)
| This macro is used to clear ACMP interrupt flag. More...
#define | ACMP_SELECT_P(acmp, u32ChNum, u32Pin)
| This macro is used to select the V+ pin of ACMP. More...
#define | ACMP_CRV_SEL(acmp, u32Level)
| This macro is used to set the level of CRV(Comparator Reference Voltage) More...
#define | ACMP_ENABLE_CRV(acmp)
| This macro is used to enable CRV(Comparator Reference Voltage) More...
#define | ACMP_DISABLE_CRV(acmp)
| This macro is used to disable CRV(Comparator Reference Voltage) More...
#define | ACMP_ENABLE_FALLING_EDGE_TRIGGER(acmp, u32ChNum)
| This macro is used to enable ACMP falling edge trigger Timer/PWM. More...
#define | ACMP_DISABLE_FALLING_EDGE_TRIGGER(acmp, u32ChNum)
| This macro is used to disable ACMP falling edge trigger Timer/PWM. More...
#define | ACMP_ENABLE_RISING_EDGE_TRIGGER(acmp, u32ChNum)
| This macro is used to enable ACMP rising edge trigger Timer/PWM. More...
#define | ACMP_DISABLE_RISING_EDGE_TRIGGER(acmp, u32ChNum)
| This macro is used to disable ACMP rising edge trigger Timer/PWM. More...

## Functions
void | ACMP_Open (ACMP_T *acmp, uint32_t u32ChNum, uint32_t u32NegSrc, uint32_t u32HysteresisEn)
| Configure the specified ACMP module. More...
void | ACMP_Close (ACMP_T *acmp, uint32_t u32ChNum)
| This function close comparator. More...

## Detailed Description

## Macro Definition Documentation

## ◆ ACMP_CLR_INT_FLAG

#define ACMP_CLR_INT_FLAG | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to clear ACMP interrupt flag.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 190 of file acmp.h.

## ◆ ACMP_CRV_SEL

#define ACMP_CRV_SEL | ( |  | acmp,
|  |  | u32Level
| ) |  |

This macro is used to set the level of CRV(Comparator Reference Voltage)

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32Level | CRV level, possible values are ACMP_VNEG_4_OVER_24_VDD ACMP_VNEG_5_OVER_24_VDD ACMP_VNEG_6_OVER_24_VDD ACMP_VNEG_7_OVER_24_VDD ACMP_VNEG_8_OVER_24_VDD ACMP_VNEG_9_OVER_24_VDD ACMP_VNEG_10_OVER_24_VDD ACMP_VNEG_11_OVER_24_VDD ACMP_VNEG_12_OVER_24_VDD ACMP_VNEG_13_OVER_24_VDD ACMP_VNEG_14_OVER_24_VDD ACMP_VNEG_15_OVER_24_VDD ACMP_VNEG_16_OVER_24_VDD ACMP_VNEG_17_OVER_24_VDD ACMP_VNEG_18_OVER_24_VDD ACMP_VNEG_19_OVER_24_VDD

Returns
  None

Definition at line 228 of file acmp.h.

## ◆ ACMP_DISABLE

#define ACMP_DISABLE | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to disable ACMP.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 163 of file acmp.h.

## ◆ ACMP_DISABLE_CRV

#define ACMP_DISABLE_CRV | ( |  | acmp | ) |

This macro is used to disable CRV(Comparator Reference Voltage)

Parameters

  [in] | acmp | The base address of ACMP module

Returns
  None

Definition at line 242 of file acmp.h.

## ◆ ACMP_DISABLE_FALLING_EDGE_TRIGGER

#define ACMP_DISABLE_FALLING_EDGE_TRIGGER | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to disable ACMP falling edge trigger Timer/PWM.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 260 of file acmp.h.

## ◆ ACMP_DISABLE_HYSTERESIS

#define ACMP_DISABLE_HYSTERESIS | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to disable hysteresis function.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 126 of file acmp.h.

## ◆ ACMP_DISABLE_INT

#define ACMP_DISABLE_INT | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to disable interrupt.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 144 of file acmp.h.

## ◆ ACMP_DISABLE_RISING_EDGE_TRIGGER

#define ACMP_DISABLE_RISING_EDGE_TRIGGER | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to disable ACMP rising edge trigger Timer/PWM.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Definition at line 277 of file acmp.h.

## ◆ ACMP_ENABLE

#define ACMP_ENABLE | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to enable ACMP.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number

Returns
  None

Definition at line 154 of file acmp.h.

## ◆ ACMP_ENABLE_CRV

#define ACMP_ENABLE_CRV | ( |  | acmp | ) |

This macro is used to enable CRV(Comparator Reference Voltage)

Parameters

  [in] | acmp | The base address of ACMP module

Returns
  None

Definition at line 235 of file acmp.h.

## ◆ ACMP_ENABLE_FALLING_EDGE_TRIGGER

#define ACMP_ENABLE_FALLING_EDGE_TRIGGER | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to enable ACMP falling edge trigger Timer/PWM.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 251 of file acmp.h.

## ◆ ACMP_ENABLE_HYSTERESIS

#define ACMP_ENABLE_HYSTERESIS | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to enable hysteresis function.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 117 of file acmp.h.

## ◆ ACMP_ENABLE_INT

#define ACMP_ENABLE_INT | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to enable interrupt.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 135 of file acmp.h.

## ◆ ACMP_ENABLE_RISING_EDGE_TRIGGER

#define ACMP_ENABLE_RISING_EDGE_TRIGGER | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to enable ACMP rising edge trigger Timer/PWM.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  None

Definition at line 269 of file acmp.h.

## ◆ ACMP_GET_INT_FLAG

#define ACMP_GET_INT_FLAG | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to get ACMP interrupt flag.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  ACMP interrupt occurred or not

Definition at line 181 of file acmp.h.

## ◆ ACMP_GET_OUTPUT

#define ACMP_GET_OUTPUT | ( |  | acmp,
|  |  | u32ChNum
| ) |  |

This macro is used to get ACMP output value.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1

Returns
  1 or 0

Definition at line 172 of file acmp.h.

## ◆ ACMP_SELECT_P

#define ACMP_SELECT_P | ( |  | acmp,
|  |  | u32ChNum,
|  |  | u32Pin
| ) |  |

This macro is used to select the V+ pin of ACMP.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1
  [in] | u32Pin | The input pin. For channel 0, valid values are ACMP_CH0_POSPIN_P15, ACMP_CH0_POSPIN_P10, ACMP_CH0_POSPIN_P12, and ACMP_CH0_POSPIN_P13. For channel 1, valid values are , ACMP_CH1_POSPIN_P31, ACMP_CH1_POSPIN_P32, ACMP_CH1_POSPIN_P34, and ACMP_CH1_POSPIN_P35.

Returns
  None

Note
  Except this setting, multi-function pin also needs to be configured

Definition at line 204 of file acmp.h.

## ◆ ACMP_SET_NEG_SRC

#define ACMP_SET_NEG_SRC | ( |  | acmp,
|  |  | u32ChNum,
|  |  | u32Src
| ) |  |

This macro is used to select ACMP negative input source.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | The ACMP number, ether 0 or 1
  [in] | u32Src | is comparator negative input selection. Including : ACMP_VNEG_PIN ACMP_VNEG_BANDGAP ACMP_VNEG_4_OVER_24_VDD ACMP_VNEG_5_OVER_24_VDD ACMP_VNEG_6_OVER_24_VDD ACMP_VNEG_7_OVER_24_VDD ACMP_VNEG_8_OVER_24_VDD ACMP_VNEG_9_OVER_24_VDD ACMP_VNEG_10_OVER_24_VDD ACMP_VNEG_11_OVER_24_VDD ACMP_VNEG_12_OVER_24_VDD ACMP_VNEG_13_OVER_24_VDD ACMP_VNEG_14_OVER_24_VDD ACMP_VNEG_15_OVER_24_VDD ACMP_VNEG_16_OVER_24_VDD ACMP_VNEG_17_OVER_24_VDD ACMP_VNEG_18_OVER_24_VDD ACMP_VNEG_19_OVER_24_VDD

Returns
  None

Note
  The V- setting is shared by both comparators if input source is not coming from PIN

Definition at line 101 of file acmp.h.

## Function Documentation

## ◆ ACMP_Close()

void ACMP_Close | ( | ACMP_T * | acmp,
|  | uint32_t | u32ChNum
| ) |  |

This function close comparator.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | comparator number.

Returns
  None

Definition at line 80 of file acmp.c.

## ◆ ACMP_Open()

void ACMP_Open | ( | ACMP_T * | acmp,
|  | uint32_t | u32ChNum,
|  | uint32_t | u32NegSrc,
|  | uint32_t | u32HysteresisEn
| ) |  |

Configure the specified ACMP module.

Parameters

  [in] | acmp | The base address of ACMP module
  [in] | u32ChNum | comparator number.
  [in] | u32NegSrc | is comparator negative input selection. Including: ACMP_VNEG_PIN ACMP_VNEG_BANDGAP ACMP_VNEG_4_OVER_24_VDD ACMP_VNEG_5_OVER_24_VDD ACMP_VNEG_6_OVER_24_VDD ACMP_VNEG_7_OVER_24_VDD ACMP_VNEG_8_OVER_24_VDD ACMP_VNEG_9_OVER_24_VDD ACMP_VNEG_10_OVER_24_VDD ACMP_VNEG_11_OVER_24_VDD ACMP_VNEG_12_OVER_24_VDD ACMP_VNEG_13_OVER_24_VDD ACMP_VNEG_14_OVER_24_VDD ACMP_VNEG_15_OVER_24_VDD ACMP_VNEG_16_OVER_24_VDD ACMP_VNEG_17_OVER_24_VDD ACMP_VNEG_18_OVER_24_VDD ACMP_VNEG_19_OVER_24_VDD
  [in] | u32HysteresisEn | is the hysteresis function option. Including: ACMP_HYSTERESIS_ENABLE ACMP_HYSTERESIS_DISABLE

Returns
  None

Definition at line 64 of file acmp.c.