RA Flexible Software Package Documentation
Release v5.6.0
|
|
Functions | |
fsp_err_t | R_ACMPLP_Open (comparator_ctrl_t *const p_ctrl, comparator_cfg_t const *const p_cfg) |
fsp_err_t | R_ACMPLP_InfoGet (comparator_ctrl_t *const p_ctrl, comparator_info_t *const p_info) |
fsp_err_t | R_ACMPLP_OutputEnable (comparator_ctrl_t *const p_ctrl) |
fsp_err_t | R_ACMPLP_StatusGet (comparator_ctrl_t *const p_ctrl, comparator_status_t *const p_status) |
fsp_err_t | R_ACMPLP_Close (comparator_ctrl_t *p_ctrl) |
Driver for the ACMPLP peripheral on RA MCUs. This module implements the Comparator Interface.
The ACMPLP HAL module supports the following features:
Configuration | Options | Default | Description |
---|---|---|---|
Parameter Checking |
| Default (BSP) | If selected code for parameter checking is included in the build. |
Reference Voltage Selection for ACMPLP1 (Standard mode only) |
| IVREF1 | ACMPLP1 may optionally be configured to use IVREF0 as a reference input instead of IVREF1. Note that if IVREF0 is selected, ACMPLP0 and ACMPLP1 must use the same setting for IVREF. |
Configuration | Options | Default | Description |
---|---|---|---|
Name | Name must be a valid C symbol | g_comparator0 | Module name. |
Channel | Value must be a non-negative integer | 0 | Select the hardware channel. |
Mode |
| Standard | In standard mode, comparator output is high if VCMP > VREF. In window mode, comparator output is high if VCMP is outside the range of VREF0 to VREF1. |
Trigger |
| Both Edge | The trigger specifies when a comparator callback event should occur. Unused if the interrupt priority is disabled or the callback is NULL. |
Filter |
| No sampling (bypass) | Select the PCLK divisor for the hardware digital debounce filter. Larger divisors provide a longer debounce and take longer for the output to update. |
Output Polarity |
| Not Inverted | When enabled comparator output is inverted. This affects the output read from R_ACMPLP_StatusGet(), the pin output level, and the edge trigger. |
Pin Output (VCOUT) |
| Disabled | Turn this on to include the output from this comparator on VCOUT. The comparator output on VCOUT is OR'd with output from all other ACMPHS and ACMPLP comparators. |
Vref (Standard mode only) |
| Disabled | If reference voltage selection is enabled then internal reference voltage is used as comparator input |
Callback | Name must be a valid C symbol | NULL | Define this function in the application. It is called when the Trigger event occurs. |
Comparator Interrupt Priority | MCU Specific Options | Select the interrupt priority for the comparator interrupt. | |
Analog Input Voltage Source (IVCMP) | MCU Specific Options | Select the comparator input source. Only options for the configured channel are valid. | |
Reference Voltage Input Source (IVREF) | MCU Specific Options | Select the comparator reference voltage source. If channel 1 is seleected and the 'Reference Voltage Selection (ACMPLP1)' config option is set to IVREF0, select one of the Channel 0 options. In all other cases, only options for the configured channel are valid. |
The ACMPLP peripheral is clocked from PCLKB. You can set the PCLKB frequency using the Clocks tab of the RA Configuration editor or by using the CGC Interface at run-time.
Comparator output can be enabled or disabled on each channel individually. The VCOUT pin is a logical OR of all comparator outputs.
The CMPINn pins are used as comparator inputs. The CMPREFn pins are used as comparator reference values.
When the noise filter is enabled, the ACMPLP0/ACMPLP1 signal is sampled three times based on the sampling clock selected. The filter clock frequency is determined by PCLKB and the comparator_filter_t setting.
If output polarity is configured as "Inverted" then the VCOUT signal will be inverted and the R_ACMPLP_StatusGet() will return an inverted status.
In window mode, the comparator indicates if the analog input voltage falls within the window (low and high reference voltage) or is outside the window.
The following is a basic example of minimal use of the ACMPLP. The comparator is configured to trigger a callback when the input rises above the internal reference voltage (VREF). A GPIO output acts as the comparator input and is externally connected to the CMPIN input of the ACMPLP.
Enumerations | |
enum | acmplp_input_t |
enum | acmplp_reference_t |
enum acmplp_input_t |
enum acmplp_reference_t |
fsp_err_t R_ACMPLP_Open | ( | comparator_ctrl_t *const | p_ctrl, |
comparator_cfg_t const *const | p_cfg | ||
) |
Configures the comparator and starts operation. Callbacks and pin output are not active until outputEnable() is called. comparator_api_t::outputEnable() should be called after the output has stabilized. Implements comparator_api_t::open().
Comparator inputs must be configured in the application code prior to calling this function.
FSP_SUCCESS | Open successful. |
FSP_ERR_ASSERTION | An input pointer is NULL |
FSP_ERR_INVALID_ARGUMENT | An argument is invalid. Window mode (COMPARATOR_MODE_WINDOW) and filter of 1 (COMPARATOR_FILTER_1) are not supported in this implementation. p_cfg->p_callback is not NULL, but ISR is not enabled. ISR must be enabled to use callback function. |
FSP_ERR_ALREADY_OPEN | The control block is already open or the hardware lock is taken. |
FSP_ERR_IN_USE | The channel is already in use. |
fsp_err_t R_ACMPLP_InfoGet | ( | comparator_ctrl_t *const | p_ctrl, |
comparator_info_t *const | p_info | ||
) |
Provides the minimum stabilization wait time in microseconds. Implements comparator_api_t::infoGet().
FSP_SUCCESS | Information stored in p_info. |
FSP_ERR_ASSERTION | An input pointer was NULL. |
FSP_ERR_NOT_OPEN | Instance control block is not open. |
fsp_err_t R_ACMPLP_OutputEnable | ( | comparator_ctrl_t *const | p_ctrl | ) |
Enables the comparator output, which can be polled using comparator_api_t::statusGet(). Also enables pin output and interrupts as configured during comparator_api_t::open(). Implements comparator_api_t::outputEnable().
FSP_SUCCESS | Comparator output is enabled. |
FSP_ERR_ASSERTION | An input pointer was NULL. |
FSP_ERR_NOT_OPEN | Instance control block is not open. |
fsp_err_t R_ACMPLP_StatusGet | ( | comparator_ctrl_t *const | p_ctrl, |
comparator_status_t *const | p_status | ||
) |
Provides the operating status of the comparator. Implements comparator_api_t::statusGet().
FSP_SUCCESS | Operating status of the comparator is provided in p_status. |
FSP_ERR_ASSERTION | An input pointer was NULL. |
FSP_ERR_NOT_OPEN | Instance control block is not open. |
fsp_err_t R_ACMPLP_Close | ( | comparator_ctrl_t * | p_ctrl | ) |
Stops the comparator. Implements comparator_api_t::close().
FSP_SUCCESS | Instance control block closed successfully. |
FSP_ERR_ASSERTION | An input pointer was NULL. |
FSP_ERR_NOT_OPEN | Instance control block is not open. |