nRF51 SDK - S110 SoftDevice
|
Hardware abstraction layer for managing the analog-to-digital converter. More...
Data Structures | |
struct | nrf_adc_config_t |
Analog-to-digital converter configuration. More... | |
Macros | |
#define | NRF_ADC_CONFIG_DEFAULT |
Enumerations | |
enum | nrf_adc_config_resolution_t { NRF_ADC_CONFIG_RES_8BIT = ADC_CONFIG_RES_8bit, NRF_ADC_CONFIG_RES_9BIT = ADC_CONFIG_RES_9bit, NRF_ADC_CONFIG_RES_10BIT = ADC_CONFIG_RES_10bit } |
Resolution of the analog-to-digital converter. More... | |
enum | nrf_adc_config_scaling_t { NRF_ADC_CONFIG_SCALING_INPUT_FULL_SCALE = ADC_CONFIG_INPSEL_AnalogInputNoPrescaling, NRF_ADC_CONFIG_SCALING_INPUT_TWO_THIRDS = ADC_CONFIG_INPSEL_AnalogInputTwoThirdsPrescaling, NRF_ADC_CONFIG_SCALING_INPUT_ONE_THIRD = ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling, NRF_ADC_CONFIG_SCALING_SUPPLY_TWO_THIRDS = ADC_CONFIG_INPSEL_SupplyTwoThirdsPrescaling, NRF_ADC_CONFIG_SCALING_SUPPLY_ONE_THIRD = ADC_CONFIG_INPSEL_SupplyOneThirdPrescaling } |
Scaling factor of the analog-to-digital conversion. More... | |
enum | nrf_adc_config_reference_t { NRF_ADC_CONFIG_REF_VBG = ADC_CONFIG_REFSEL_VBG, NRF_ADC_CONFIG_REF_SUPPLY_ONE_HALF = ADC_CONFIG_REFSEL_SupplyOneHalfPrescaling, NRF_ADC_CONFIG_REF_SUPPLY_ONE_THIRD = ADC_CONFIG_REFSEL_SupplyOneThirdPrescaling, NRF_ADC_CONFIG_REF_EXT_REF0, NRF_ADC_CONFIG_REF_EXT_REF1 } |
Reference selection of the analog-to-digital converter. More... | |
enum | nrf_adc_config_input_t { NRF_ADC_CONFIG_INPUT_DISABLED = ADC_CONFIG_PSEL_Disabled, NRF_ADC_CONFIG_INPUT_0 = ADC_CONFIG_PSEL_AnalogInput0, NRF_ADC_CONFIG_INPUT_1 = ADC_CONFIG_PSEL_AnalogInput1, NRF_ADC_CONFIG_INPUT_2 = ADC_CONFIG_PSEL_AnalogInput2, NRF_ADC_CONFIG_INPUT_3 = ADC_CONFIG_PSEL_AnalogInput3, NRF_ADC_CONFIG_INPUT_4 = ADC_CONFIG_PSEL_AnalogInput4, NRF_ADC_CONFIG_INPUT_5 = ADC_CONFIG_PSEL_AnalogInput5, NRF_ADC_CONFIG_INPUT_6 = ADC_CONFIG_PSEL_AnalogInput6, NRF_ADC_CONFIG_INPUT_7 = ADC_CONFIG_PSEL_AnalogInput7 } |
Input selection of the analog-to-digital converter. More... | |
enum | nrf_adc_task_t { NRF_ADC_TASK_START = offsetof(NRF_ADC_Type, TASKS_START), NRF_ADC_TASK_STOP = offsetof(NRF_ADC_Type, TASKS_STOP) } |
Analog-to-digital converter tasks. More... | |
enum | nrf_adc_event_t { NRF_ADC_EVENT_END = offsetof(NRF_ADC_Type, EVENTS_END) } |
Analog-to-digital converter events. More... | |
Functions | |
void | nrf_adc_configure (nrf_adc_config_t *config) |
Function for configuring ADC. More... | |
int32_t | nrf_adc_convert_single (nrf_adc_config_input_t input) |
Blocking function for executing a single ADC conversion. More... | |
__STATIC_INLINE void | nrf_adc_input_select (nrf_adc_config_input_t input) |
Function for selecting ADC input. More... | |
__STATIC_INLINE int32_t | nrf_adc_result_get (void) |
Function for retrieving the ADC conversion result. More... | |
__STATIC_INLINE bool | nrf_adc_is_busy (void) |
Function for checking whether the ADC is busy. More... | |
__STATIC_INLINE void | nrf_adc_int_enable (uint32_t interrupts) |
Function for enabling interrupts from the ADC. More... | |
__STATIC_INLINE void | nrf_adc_int_disable (uint32_t interrupts) |
Function for disabling interrupts from the ADC. More... | |
__STATIC_INLINE uint32_t | nrf_adc_int_get (uint32_t mask) |
Function for getting the ADC's enabled interrupts. More... | |
__STATIC_INLINE void | nrf_adc_start (void) |
Function for starting conversion. More... | |
__STATIC_INLINE void | nrf_adc_stop (void) |
Function for stopping conversion. More... | |
__STATIC_INLINE bool | nrf_adc_conversion_finished (void) |
Function for checking if the requested ADC conversion has ended. More... | |
__STATIC_INLINE void | nrf_adc_conversion_event_clean (void) |
Function for cleaning conversion end event. | |
__STATIC_INLINE uint32_t * | nrf_adc_task_address_get (nrf_adc_task_t adc_task) |
Function for getting the address of an ADC task register. More... | |
__STATIC_INLINE uint32_t * | nrf_adc_event_address_get (nrf_adc_event_t adc_event) |
Function for getting the address of a specific ADC event register. More... | |
Hardware abstraction layer for managing the analog-to-digital converter.
#define NRF_ADC_CONFIG_DEFAULT |
Default ADC configuration.
Input selection of the analog-to-digital converter.
Reference selection of the analog-to-digital converter.
Scaling factor of the analog-to-digital conversion.
enum nrf_adc_event_t |
enum nrf_adc_task_t |
void nrf_adc_configure | ( | nrf_adc_config_t * | config | ) |
Function for configuring ADC.
This function powers on the analog-to-digital converter and configures it. After the configuration, the ADC is in DISABLE state and must be enabled before using it.
[in] | config | Configuration parameters. |
__STATIC_INLINE bool nrf_adc_conversion_finished | ( | void | ) |
Function for checking if the requested ADC conversion has ended.
true | If the task has finished. |
false | If the task is still running. |
int32_t nrf_adc_convert_single | ( | nrf_adc_config_input_t | input | ) |
Blocking function for executing a single ADC conversion.
This function selects the desired input, starts a single conversion, waits for it to finish, and returns the result. After the input is selected, the analog-to-digital converter is left in STOP state. The function does not check if the ADC is initialized and powered.
[in] | input | Input to be selected. |
__STATIC_INLINE uint32_t* nrf_adc_event_address_get | ( | nrf_adc_event_t | adc_event | ) |
Function for getting the address of a specific ADC event register.
[in] | adc_event | ADC event. |
__STATIC_INLINE void nrf_adc_input_select | ( | nrf_adc_config_input_t | input | ) |
Function for selecting ADC input.
This function selects the active input of ADC. Ensure that the ADC is powered on and in IDLE state before calling this function.
[in] | input | Input to be selected. |
__STATIC_INLINE void nrf_adc_int_disable | ( | uint32_t | interrupts | ) |
Function for disabling interrupts from the ADC.
[in] | interrupts | Mask of interrupts to be disabled. |
__STATIC_INLINE void nrf_adc_int_enable | ( | uint32_t | interrupts | ) |
Function for enabling interrupts from the ADC.
[in] | interrupts | Mask of interrupts to be enabled. |
__STATIC_INLINE uint32_t nrf_adc_int_get | ( | uint32_t | mask | ) |
Function for getting the ADC's enabled interrupts.
[in] | mask | Mask of interrupts to check. |
__STATIC_INLINE bool nrf_adc_is_busy | ( | void | ) |
Function for checking whether the ADC is busy.
This function checks whether the analog-to-digital converter is busy with a conversion.
true | If the ADC is busy. |
false | If the ADC is not busy. |
__STATIC_INLINE int32_t nrf_adc_result_get | ( | void | ) |
Function for retrieving the ADC conversion result.
This function retrieves and returns the last analog-to-digital conversion result.
__STATIC_INLINE void nrf_adc_start | ( | void | ) |
Function for starting conversion.
__STATIC_INLINE void nrf_adc_stop | ( | void | ) |
Function for stopping conversion.
If the analog-to-digital converter is in inactive state, power consumption is reduced.
__STATIC_INLINE uint32_t* nrf_adc_task_address_get | ( | nrf_adc_task_t | adc_task | ) |
Function for getting the address of an ADC task register.
[in] | adc_task | ADC task. |