Hardware access layer for managing the SAADC peripheral. More...
Data Structures | |
struct | nrf_saadc_config_t |
Analog-to-digital converter configuration structure. More... | |
struct | nrf_saadc_channel_config_t |
Analog-to-digital converter channel configuration structure. More... | |
Macros | |
#define | NRF_SAADC_LIMITS_INT_OFFSET NRFX_MIN(SAADC_INTENSET_CH0LIMITH_Pos, SAADC_INTENSET_CH0LIMITL_Pos) |
Symbol specifying the offset of interrupt bitmask for limits of all channels. | |
#define | NRF_SAADC_ALL_CHANNELS_LIMITS_INT_MASK ((uint32_t)(((1 << SAADC_CH_NUM) - 1) << NRF_SAADC_LIMITS_INT_OFFSET)) |
Symbol specifying the interrupt bitmask for limits of all channels. | |
#define | NRF_SAADC_HAS_ACQTIME_ENUM 1 |
Symbol indicating whether the configuration of acquisition time using predefined values is present. | |
#define | NRF_SAADC_HAS_CONVTIME 1 |
Symbol indicating whether the configuration of conversion time is present. | |
#define | NRF_SAADC_HAS_LIN_CAL 1 |
Symbol indicating whether the configuration of linearity calibration coefficients is present. | |
#define | NRF_SAADC_HAS_AIN_AS_PIN 1 |
Symbol indicating whether configuration of analog input using pin number is present. | |
#define | NRF_SAADC_HAS_DMA_REG 1 |
Symbol indicating whether dedicated DMA register is present. | |
#define | NRF_SAADC_HAS_DMA_EVENTS 1 |
Symbol indicating whether SAADC DMA events are present. | |
#define | NRF_SAADC_HAS_CH_CONFIG_RES 1 |
Symbol indicating whether SAADC channel resistor control is present. | |
#define | NRF_SAADC_CONVTIME_MAX SAADC_CH_CONFIG_TCONV_Max |
Symbol specifying maximum value of conversion time. | |
#define | NRF_SAADC_LIN_CAL_MAX_COUNT SAADC_TRIM_LINCALCOEFF_MaxCount |
Symbol specifying maximum count of linearity calibration coefficients. | |
#define | NRF_SAADC_LIN_CAL_MAX SAADC_TRIM_LINCALCOEFF_VAL_Max |
Symbol specifying maximum value of linearity calibration coefficient. | |
#define | NRF_SAADC_8BIT_SAMPLE_WIDTH 8 |
Symbol specifying width of the 8-bit sample in bits. | |
#define | NRF_SAADC_INPUT_DISABLED ((nrf_saadc_input_t)UINT32_MAX) |
Symbol specifying disconnected analog input. | |
Typedefs | |
typedef uint32_t | nrf_saadc_input_t |
Analog input type. | |
typedef void | nrf_saadc_value_t |
Type of a single ADC conversion result. | |
Enumerations | |
enum | nrf_saadc_resolution_t { NRF_SAADC_RESOLUTION_8BIT = SAADC_RESOLUTION_VAL_8bit , NRF_SAADC_RESOLUTION_10BIT = SAADC_RESOLUTION_VAL_10bit , NRF_SAADC_RESOLUTION_12BIT = SAADC_RESOLUTION_VAL_12bit , NRF_SAADC_RESOLUTION_14BIT = SAADC_RESOLUTION_VAL_14bit } |
Resolution of the analog-to-digital converter. More... | |
enum | nrf_saadc_oversample_t { NRF_SAADC_OVERSAMPLE_DISABLED = SAADC_OVERSAMPLE_OVERSAMPLE_Bypass , NRF_SAADC_OVERSAMPLE_2X = SAADC_OVERSAMPLE_OVERSAMPLE_Over2x , NRF_SAADC_OVERSAMPLE_4X = SAADC_OVERSAMPLE_OVERSAMPLE_Over4x , NRF_SAADC_OVERSAMPLE_8X = SAADC_OVERSAMPLE_OVERSAMPLE_Over8x , NRF_SAADC_OVERSAMPLE_16X = SAADC_OVERSAMPLE_OVERSAMPLE_Over16x , NRF_SAADC_OVERSAMPLE_32X = SAADC_OVERSAMPLE_OVERSAMPLE_Over32x , NRF_SAADC_OVERSAMPLE_64X = SAADC_OVERSAMPLE_OVERSAMPLE_Over64x , NRF_SAADC_OVERSAMPLE_128X = SAADC_OVERSAMPLE_OVERSAMPLE_Over128x , NRF_SAADC_OVERSAMPLE_256X = SAADC_OVERSAMPLE_OVERSAMPLE_Over256x } |
Analog-to-digital converter oversampling mode. More... | |
enum | nrf_saadc_resistor_t { NRF_SAADC_RESISTOR_DISABLED = SAADC_CH_CONFIG_RESP_Bypass , NRF_SAADC_RESISTOR_PULLDOWN = SAADC_CH_CONFIG_RESP_Pulldown , NRF_SAADC_RESISTOR_PULLUP = SAADC_CH_CONFIG_RESP_Pullup , NRF_SAADC_RESISTOR_VDD1_2 = SAADC_CH_CONFIG_RESP_VDD1_2 } |
Analog-to-digital converter channel resistor control. More... | |
enum | nrf_saadc_gain_t { NRF_SAADC_GAIN1_6 = SAADC_CH_CONFIG_GAIN_Gain1_6 , NRF_SAADC_GAIN1_5 = SAADC_CH_CONFIG_GAIN_Gain1_5 , NRF_SAADC_GAIN1_4 = SAADC_CH_CONFIG_GAIN_Gain1_4 , NRF_SAADC_GAIN1_3 = SAADC_CH_CONFIG_GAIN_Gain1_3 , NRF_SAADC_GAIN1_2 = SAADC_CH_CONFIG_GAIN_Gain1_2 , NRF_SAADC_GAIN2_3 = SAADC_CH_CONFIG_GAIN_Gain2_3 , NRF_SAADC_GAIN1 = SAADC_CH_CONFIG_GAIN_Gain1 , NRF_SAADC_GAIN2 = SAADC_CH_CONFIG_GAIN_Gain2 , NRF_SAADC_GAIN4 = SAADC_CH_CONFIG_GAIN_Gain4 } |
Gain factor of the analog-to-digital converter input. More... | |
enum | nrf_saadc_reference_t { NRF_SAADC_REFERENCE_INTERNAL = SAADC_CH_CONFIG_REFSEL_Internal , NRF_SAADC_REFERENCE_VDD4 } |
Reference selection for the analog-to-digital converter. More... | |
enum | nrf_saadc_acqtime_t { NRF_SAADC_ACQTIME_3US = SAADC_CH_CONFIG_TACQ_3us , NRF_SAADC_ACQTIME_5US = SAADC_CH_CONFIG_TACQ_5us , NRF_SAADC_ACQTIME_10US = SAADC_CH_CONFIG_TACQ_10us , NRF_SAADC_ACQTIME_15US = SAADC_CH_CONFIG_TACQ_15us , NRF_SAADC_ACQTIME_20US = SAADC_CH_CONFIG_TACQ_20us , NRF_SAADC_ACQTIME_40US = SAADC_CH_CONFIG_TACQ_40us } |
Analog-to-digital converter acquisition time. More... | |
enum | nrf_saadc_mode_t { NRF_SAADC_MODE_SINGLE_ENDED = SAADC_CH_CONFIG_MODE_SE , NRF_SAADC_MODE_DIFFERENTIAL = SAADC_CH_CONFIG_MODE_Diff } |
Analog-to-digital converter channel mode. More... | |
enum | nrf_saadc_burst_t { NRF_SAADC_BURST_DISABLED = SAADC_CH_CONFIG_BURST_Disabled , NRF_SAADC_BURST_ENABLED = SAADC_CH_CONFIG_BURST_Enabled } |
Analog-to-digital converter channel burst mode. More... | |
enum | nrf_saadc_task_t { NRF_SAADC_TASK_START = offsetof(NRF_SAADC_Type, TASKS_START) , NRF_SAADC_TASK_STOP = offsetof(NRF_SAADC_Type, TASKS_STOP) , NRF_SAADC_TASK_SAMPLE = offsetof(NRF_SAADC_Type, TASKS_SAMPLE) , NRF_SAADC_TASK_CALIBRATEOFFSET = offsetof(NRF_SAADC_Type, TASKS_CALIBRATEOFFSET) } |
Analog-to-digital converter tasks. More... | |
enum | nrf_saadc_event_t { NRF_SAADC_EVENT_STARTED = offsetof(NRF_SAADC_Type, EVENTS_STARTED) , NRF_SAADC_EVENT_END = offsetof(NRF_SAADC_Type, EVENTS_DMA.END) , NRF_SAADC_EVENT_DONE = offsetof(NRF_SAADC_Type, EVENTS_DONE) , NRF_SAADC_EVENT_RESULTDONE = offsetof(NRF_SAADC_Type, EVENTS_RESULTDONE) , NRF_SAADC_EVENT_CALIBRATEDONE = offsetof(NRF_SAADC_Type, EVENTS_CALIBRATEDONE) , NRF_SAADC_EVENT_STOPPED = offsetof(NRF_SAADC_Type, EVENTS_STOPPED) , NRF_SAADC_EVENT_CH0_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[0].LIMITH) , NRF_SAADC_EVENT_CH0_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[0].LIMITL) , NRF_SAADC_EVENT_CH1_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[1].LIMITH) , NRF_SAADC_EVENT_CH1_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[1].LIMITL) , NRF_SAADC_EVENT_CH2_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[2].LIMITH) , NRF_SAADC_EVENT_CH2_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[2].LIMITL) , NRF_SAADC_EVENT_CH3_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[3].LIMITH) , NRF_SAADC_EVENT_CH3_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[3].LIMITL) , NRF_SAADC_EVENT_CH4_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[4].LIMITH) , NRF_SAADC_EVENT_CH4_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[4].LIMITL) , NRF_SAADC_EVENT_CH5_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[5].LIMITH) , NRF_SAADC_EVENT_CH5_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[5].LIMITL) , NRF_SAADC_EVENT_CH6_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[6].LIMITH) , NRF_SAADC_EVENT_CH6_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[6].LIMITL) , NRF_SAADC_EVENT_CH7_LIMITH = offsetof(NRF_SAADC_Type, EVENTS_CH[7].LIMITH) , NRF_SAADC_EVENT_CH7_LIMITL = offsetof(NRF_SAADC_Type, EVENTS_CH[7].LIMITL) } |
Analog-to-digital converter events. More... | |
enum | nrf_saadc_int_mask_t { NRF_SAADC_INT_STARTED = SAADC_INTENSET_STARTED_Msk , NRF_SAADC_INT_END = SAADC_INTENSET_DMAEND_Msk , NRF_SAADC_INT_DONE = SAADC_INTENSET_DONE_Msk , NRF_SAADC_INT_RESULTDONE = SAADC_INTENSET_RESULTDONE_Msk , NRF_SAADC_INT_CALIBRATEDONE = SAADC_INTENSET_CALIBRATEDONE_Msk , NRF_SAADC_INT_STOPPED = SAADC_INTENSET_STOPPED_Msk , NRF_SAADC_INT_CH0LIMITH = SAADC_INTENSET_CH0LIMITH_Msk , NRF_SAADC_INT_CH0LIMITL = SAADC_INTENSET_CH0LIMITL_Msk , NRF_SAADC_INT_CH1LIMITH = SAADC_INTENSET_CH1LIMITH_Msk , NRF_SAADC_INT_CH1LIMITL = SAADC_INTENSET_CH1LIMITL_Msk , NRF_SAADC_INT_CH2LIMITH = SAADC_INTENSET_CH2LIMITH_Msk , NRF_SAADC_INT_CH2LIMITL = SAADC_INTENSET_CH2LIMITL_Msk , NRF_SAADC_INT_CH3LIMITH = SAADC_INTENSET_CH3LIMITH_Msk , NRF_SAADC_INT_CH3LIMITL = SAADC_INTENSET_CH3LIMITL_Msk , NRF_SAADC_INT_CH4LIMITH = SAADC_INTENSET_CH4LIMITH_Msk , NRF_SAADC_INT_CH4LIMITL = SAADC_INTENSET_CH4LIMITL_Msk , NRF_SAADC_INT_CH5LIMITH = SAADC_INTENSET_CH5LIMITH_Msk , NRF_SAADC_INT_CH5LIMITL = SAADC_INTENSET_CH5LIMITL_Msk , NRF_SAADC_INT_CH6LIMITH = SAADC_INTENSET_CH6LIMITH_Msk , NRF_SAADC_INT_CH6LIMITL = SAADC_INTENSET_CH6LIMITL_Msk , NRF_SAADC_INT_CH7LIMITH = SAADC_INTENSET_CH7LIMITH_Msk , NRF_SAADC_INT_CH7LIMITL = SAADC_INTENSET_CH7LIMITL_Msk , NRF_SAADC_INT_ALL = 0x7FFFFFFFUL } |
Analog-to-digital converter interrupt masks. More... | |
enum | nrf_saadc_limit_t { NRF_SAADC_LIMIT_LOW = 0 , NRF_SAADC_LIMIT_HIGH = 1 } |
Analog-to-digital converter value limit type. More... | |
Functions | |
NRF_STATIC_INLINE void | nrf_saadc_task_trigger (NRF_SAADC_Type *p_reg, nrf_saadc_task_t task) |
Function for triggering the specified SAADC task. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_task_address_get (NRF_SAADC_Type const *p_reg, nrf_saadc_task_t task) |
Function for getting the address of the specified SAADC task register. | |
NRF_STATIC_INLINE bool | nrf_saadc_event_check (NRF_SAADC_Type const *p_reg, nrf_saadc_event_t event) |
Function for retrieving the state of the SAADC event. | |
NRF_STATIC_INLINE void | nrf_saadc_event_clear (NRF_SAADC_Type *p_reg, nrf_saadc_event_t event) |
Function for clearing the specific SAADC event. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_event_address_get (NRF_SAADC_Type const *p_reg, nrf_saadc_event_t event) |
Function for getting the address of the specified SAADC event register. | |
NRF_STATIC_INLINE void | nrf_saadc_subscribe_set (NRF_SAADC_Type *p_reg, nrf_saadc_task_t task, uint8_t channel) |
Function for setting the subscribe configuration for a given SAADC task. | |
NRF_STATIC_INLINE void | nrf_saadc_subscribe_clear (NRF_SAADC_Type *p_reg, nrf_saadc_task_t task) |
Function for clearing the subscribe configuration for a given SAADC task. | |
NRF_STATIC_INLINE void | nrf_saadc_publish_set (NRF_SAADC_Type *p_reg, nrf_saadc_event_t event, uint8_t channel) |
Function for setting the publish configuration for a given SAADC event. | |
NRF_STATIC_INLINE void | nrf_saadc_publish_clear (NRF_SAADC_Type *p_reg, nrf_saadc_event_t event) |
Function for clearing the publish configuration for a given SAADC event. | |
NRF_STATIC_INLINE nrf_saadc_event_t | nrf_saadc_limit_event_get (uint8_t channel, nrf_saadc_limit_t limit_type) |
Function for getting the SAADC channel monitoring limit events. | |
NRF_STATIC_INLINE void | nrf_saadc_channel_input_set (NRF_SAADC_Type *p_reg, uint8_t channel, nrf_saadc_input_t pselp, nrf_saadc_input_t pseln) |
Function for configuring the input pins for the specified SAADC channel. | |
NRF_STATIC_INLINE void | nrf_saadc_channel_pos_input_set (NRF_SAADC_Type *p_reg, uint8_t channel, nrf_saadc_input_t pselp) |
Function for configuring the positive input pin for the specified SAADC channel. | |
NRF_STATIC_INLINE void | nrf_saadc_channel_limits_set (NRF_SAADC_Type *p_reg, uint8_t channel, int16_t low, int16_t high) |
Function for setting the SAADC channel monitoring limits. | |
NRF_STATIC_INLINE void | nrf_saadc_int_set (NRF_SAADC_Type *p_reg, uint32_t mask) |
Function for setting the configuration of SAADC interrupts. | |
NRF_STATIC_INLINE void | nrf_saadc_int_enable (NRF_SAADC_Type *p_reg, uint32_t mask) |
Function for enabling specified SAADC interrupts. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_int_enable_check (NRF_SAADC_Type const *p_reg, uint32_t mask) |
Function for checking if the specified interrupts are enabled. | |
NRF_STATIC_INLINE void | nrf_saadc_int_disable (NRF_SAADC_Type *p_reg, uint32_t mask) |
Function for disabling specified interrupts. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_limit_int_get (uint8_t channel, nrf_saadc_limit_t limit_type) |
Function for generating masks for SAADC channel limit interrupts. | |
NRF_STATIC_INLINE bool | nrf_saadc_busy_check (NRF_SAADC_Type const *p_reg) |
Function for checking whether the SAADC is busy. | |
NRF_STATIC_INLINE void | nrf_saadc_enable (NRF_SAADC_Type *p_reg) |
Function for enabling the SAADC. | |
NRF_STATIC_INLINE void | nrf_saadc_disable (NRF_SAADC_Type *p_reg) |
Function for disabling the SAADC. | |
NRF_STATIC_INLINE bool | nrf_saadc_enable_check (NRF_SAADC_Type const *p_reg) |
Function for checking if the SAADC is enabled. | |
NRF_STATIC_INLINE void | nrf_saadc_buffer_init (NRF_SAADC_Type *p_reg, nrf_saadc_value_t *p_buffer, uint32_t size) |
Function for initializing the SAADC result buffer. | |
NRF_STATIC_INLINE void | nrf_saadc_buffer_pointer_set (NRF_SAADC_Type *p_reg, nrf_saadc_value_t *p_buffer) |
Function for setting the SAADC result buffer pointer. | |
NRF_STATIC_INLINE nrf_saadc_value_t * | nrf_saadc_buffer_pointer_get (NRF_SAADC_Type const *p_reg) |
Function for getting the SAADC result buffer pointer. | |
NRF_STATIC_INLINE uint16_t | nrf_saadc_amount_get (NRF_SAADC_Type const *p_reg) |
Function for getting the number of samples written to the result buffer since the previous START task. | |
NRF_STATIC_INLINE void | nrf_saadc_resolution_set (NRF_SAADC_Type *p_reg, nrf_saadc_resolution_t resolution) |
Function for setting the SAADC sample resolution. | |
NRF_STATIC_INLINE nrf_saadc_resolution_t | nrf_saadc_resolution_get (NRF_SAADC_Type const *p_reg) |
Function for getting the SAADC sample resolution. | |
NRF_STATIC_INLINE void | nrf_saadc_oversample_set (NRF_SAADC_Type *p_reg, nrf_saadc_oversample_t oversample) |
Function for configuring the oversampling feature. | |
NRF_STATIC_INLINE nrf_saadc_oversample_t | nrf_saadc_oversample_get (NRF_SAADC_Type const *p_reg) |
Function for getting the oversampling feature configuration. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_oversample_sample_count_get (nrf_saadc_oversample_t oversample) |
Function for getting the sample count needed for one averaged result for a given oversampling configuration. | |
NRF_STATIC_INLINE void | nrf_saadc_continuous_mode_enable (NRF_SAADC_Type *p_reg, uint16_t cc) |
Function for enabling the continuous sampling. | |
NRF_STATIC_INLINE bool | nrf_saadc_continuous_mode_enable_check (NRF_SAADC_Type const *p_reg) |
Function for checking if the continuous sampling is enabled. | |
NRF_STATIC_INLINE void | nrf_saadc_continuous_mode_disable (NRF_SAADC_Type *p_reg) |
Function for disabling the continuous sampling. | |
NRF_STATIC_INLINE void | nrf_saadc_linearity_calibration_coeff_set (NRF_SAADC_Type *p_reg, uint8_t index, uint32_t coeff) |
Function for setting linearity calibration coefficient. | |
NRF_STATIC_INLINE uint32_t | nrf_saadc_linearity_calibration_coeff_get (NRF_SAADC_Type const *p_reg, uint8_t index) |
Function for getting linearity calibration coefficient. | |
NRF_STATIC_INLINE void | nrf_saadc_channel_init (NRF_SAADC_Type *p_reg, uint8_t channel, nrf_saadc_channel_config_t const *config) |
Function for initializing the SAADC channel. | |
NRF_STATIC_INLINE void | nrf_saadc_burst_set (NRF_SAADC_Type *p_reg, uint8_t channel, nrf_saadc_burst_t burst) |
Function for configuring the burst mode for the specified channel. | |
NRF_STATIC_INLINE int16_t | nrf_saadc_value_min_get (nrf_saadc_resolution_t resolution) |
Function for getting the minimum value of the conversion result. | |
NRF_STATIC_INLINE int16_t | nrf_saadc_value_max_get (nrf_saadc_resolution_t resolution) |
Function for getting the maximum value of the conversion result. | |
Hardware access layer for managing the SAADC peripheral.
enum nrf_saadc_acqtime_t |
enum nrf_saadc_burst_t |
enum nrf_saadc_event_t |
Analog-to-digital converter events.
enum nrf_saadc_gain_t |
Gain factor of the analog-to-digital converter input.
enum nrf_saadc_int_mask_t |
Analog-to-digital converter interrupt masks.
enum nrf_saadc_limit_t |
enum nrf_saadc_mode_t |
Analog-to-digital converter oversampling mode.
enum nrf_saadc_resistor_t |
enum nrf_saadc_task_t |
Analog-to-digital converter tasks.
NRF_STATIC_INLINE uint16_t nrf_saadc_amount_get | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for getting the number of samples written to the result buffer since the previous START task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_saadc_buffer_init | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_value_t * | p_buffer, | ||
uint32_t | size | ||
) |
Function for initializing the SAADC result buffer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_buffer | Pointer to the result buffer. |
[in] | size | Size of the buffer (in 8-bit or 16-bit samples). |
NRF_STATIC_INLINE nrf_saadc_value_t * nrf_saadc_buffer_pointer_get | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for getting the SAADC result buffer pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_saadc_buffer_pointer_set | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_value_t * | p_buffer | ||
) |
Function for setting the SAADC result buffer pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_buffer | Pointer to the result buffer. |
NRF_STATIC_INLINE void nrf_saadc_burst_set | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | channel, | ||
nrf_saadc_burst_t | burst | ||
) |
Function for configuring the burst mode for the specified channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel number. |
[in] | burst | Burst mode setting. |
NRF_STATIC_INLINE bool nrf_saadc_busy_check | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for checking whether the SAADC is busy.
This function checks whether the analog-to-digital converter is busy with a conversion.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
true | The SAADC is busy. |
false | The SAADC is not busy. |
NRF_STATIC_INLINE void nrf_saadc_channel_init | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | channel, | ||
nrf_saadc_channel_config_t const * | config | ||
) |
Function for initializing the SAADC channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel number. |
[in] | config | Pointer to the channel configuration structure. |
NRF_STATIC_INLINE void nrf_saadc_channel_input_set | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | channel, | ||
nrf_saadc_input_t | pselp, | ||
nrf_saadc_input_t | pseln | ||
) |
Function for configuring the input pins for the specified SAADC channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel number. |
[in] | pselp | Positive input. |
[in] | pseln | Negative input. Set to NRF_SAADC_INPUT_DISABLED in single ended mode. |
NRF_STATIC_INLINE void nrf_saadc_channel_limits_set | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | channel, | ||
int16_t | low, | ||
int16_t | high | ||
) |
Function for setting the SAADC channel monitoring limits.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel number. |
[in] | low | Low limit. |
[in] | high | High limit. |
NRF_STATIC_INLINE void nrf_saadc_channel_pos_input_set | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | channel, | ||
nrf_saadc_input_t | pselp | ||
) |
Function for configuring the positive input pin for the specified SAADC channel.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel number. |
[in] | pselp | Positive input. |
NRF_STATIC_INLINE void nrf_saadc_continuous_mode_disable | ( | NRF_SAADC_Type * | p_reg | ) |
Function for disabling the continuous sampling.
New samples can still be acquired by manually triggering the SAMPLE task or by PPI.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_saadc_continuous_mode_enable | ( | NRF_SAADC_Type * | p_reg, |
uint16_t | cc | ||
) |
Function for enabling the continuous sampling.
This function configures the SAADC internal timer to automatically take new samples at a fixed sample rate. Trigger the START task to begin continuous sampling. To stop the sampling, trigger the STOP task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | cc | Capture and compare value. Sample rate is 16 MHz/cc. Valid CC range is from 80 to 2047. |
NRF_STATIC_INLINE bool nrf_saadc_continuous_mode_enable_check | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for checking if the continuous sampling is enabled.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
true | The continuous sampling is enabled. |
false | The continuous sampling is disabled. |
NRF_STATIC_INLINE void nrf_saadc_disable | ( | NRF_SAADC_Type * | p_reg | ) |
Function for disabling the SAADC.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_saadc_enable | ( | NRF_SAADC_Type * | p_reg | ) |
Function for enabling the SAADC.
The analog-to-digital converter must be enabled before use.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE bool nrf_saadc_enable_check | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for checking if the SAADC is enabled.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
true | The SAADC is enabled. |
false | The SAADC is not enabled. |
NRF_STATIC_INLINE uint32_t nrf_saadc_event_address_get | ( | NRF_SAADC_Type const * | p_reg, |
nrf_saadc_event_t | event | ||
) |
Function for getting the address of the specified SAADC event register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | SAADC event. |
NRF_STATIC_INLINE bool nrf_saadc_event_check | ( | NRF_SAADC_Type const * | p_reg, |
nrf_saadc_event_t | event | ||
) |
Function for retrieving the state of the SAADC event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to be checked. |
true | The event has been generated. |
false | The event has not been generated. |
NRF_STATIC_INLINE void nrf_saadc_event_clear | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_event_t | event | ||
) |
Function for clearing the specific SAADC event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | SAADC event. |
NRF_STATIC_INLINE void nrf_saadc_int_disable | ( | NRF_SAADC_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be disabled. Use nrf_saadc_int_mask_t values for bit masking. |
NRF_STATIC_INLINE void nrf_saadc_int_enable | ( | NRF_SAADC_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling specified SAADC interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be enabled. Use nrf_saadc_int_mask_t values for bit masking. |
NRF_STATIC_INLINE uint32_t nrf_saadc_int_enable_check | ( | NRF_SAADC_Type const * | p_reg, |
uint32_t | mask | ||
) |
Function for checking if the specified interrupts are enabled.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be checked. Use nrf_saadc_int_mask_t values for bit masking. |
NRF_STATIC_INLINE void nrf_saadc_int_set | ( | NRF_SAADC_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for setting the configuration of SAADC interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Interrupts configuration to be set. Use nrf_saadc_int_mask_t values for bit masking. |
NRF_STATIC_INLINE nrf_saadc_event_t nrf_saadc_limit_event_get | ( | uint8_t | channel, |
nrf_saadc_limit_t | limit_type | ||
) |
Function for getting the SAADC channel monitoring limit events.
[in] | channel | Channel number. |
[in] | limit_type | Low limit or high limit. |
NRF_STATIC_INLINE uint32_t nrf_saadc_limit_int_get | ( | uint8_t | channel, |
nrf_saadc_limit_t | limit_type | ||
) |
Function for generating masks for SAADC channel limit interrupts.
[in] | channel | SAADC channel number. |
[in] | limit_type | Limit type. |
NRF_STATIC_INLINE uint32_t nrf_saadc_linearity_calibration_coeff_get | ( | NRF_SAADC_Type const * | p_reg, |
uint8_t | index | ||
) |
Function for getting linearity calibration coefficient.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | index | Coefficient number. |
NRF_STATIC_INLINE void nrf_saadc_linearity_calibration_coeff_set | ( | NRF_SAADC_Type * | p_reg, |
uint8_t | index, | ||
uint32_t | coeff | ||
) |
Function for setting linearity calibration coefficient.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | index | Coefficient number. |
[in] | coeff | Value of the coefficient. |
NRF_STATIC_INLINE nrf_saadc_oversample_t nrf_saadc_oversample_get | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for getting the oversampling feature configuration.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_saadc_oversample_sample_count_get | ( | nrf_saadc_oversample_t | oversample | ) |
Function for getting the sample count needed for one averaged result for a given oversampling configuration.
[in] | oversample | Oversampling configuration. |
NRF_STATIC_INLINE void nrf_saadc_oversample_set | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_oversample_t | oversample | ||
) |
Function for configuring the oversampling feature.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | oversample | Oversampling mode. |
NRF_STATIC_INLINE void nrf_saadc_publish_clear | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_event_t | event | ||
) |
Function for clearing the publish configuration for a given SAADC event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_saadc_publish_set | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_event_t | event, | ||
uint8_t | channel | ||
) |
Function for setting the publish configuration for a given SAADC event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to set the configuration. |
[in] | channel | Channel through which to publish the event. |
NRF_STATIC_INLINE nrf_saadc_resolution_t nrf_saadc_resolution_get | ( | NRF_SAADC_Type const * | p_reg | ) |
Function for getting the SAADC sample resolution.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_saadc_resolution_set | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_resolution_t | resolution | ||
) |
Function for setting the SAADC sample resolution.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | resolution | Bit resolution. |
NRF_STATIC_INLINE void nrf_saadc_subscribe_clear | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_task_t | task | ||
) |
Function for clearing the subscribe configuration for a given SAADC task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_saadc_subscribe_set | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_task_t | task, | ||
uint8_t | channel | ||
) |
Function for setting the subscribe configuration for a given SAADC task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to set the configuration. |
[in] | channel | Channel through which to subscribe events. |
NRF_STATIC_INLINE uint32_t nrf_saadc_task_address_get | ( | NRF_SAADC_Type const * | p_reg, |
nrf_saadc_task_t | task | ||
) |
Function for getting the address of the specified SAADC task register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | SAADC task. |
NRF_STATIC_INLINE void nrf_saadc_task_trigger | ( | NRF_SAADC_Type * | p_reg, |
nrf_saadc_task_t | task | ||
) |
Function for triggering the specified SAADC task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | SAADC task. |
NRF_STATIC_INLINE int16_t nrf_saadc_value_max_get | ( | nrf_saadc_resolution_t | resolution | ) |
Function for getting the maximum value of the conversion result.
The maximum value of the conversion result depends on the configured resolution.
[in] | resolution | Bit resolution. |
NRF_STATIC_INLINE int16_t nrf_saadc_value_min_get | ( | nrf_saadc_resolution_t | resolution | ) |
Function for getting the minimum value of the conversion result.
The minimum value of the conversion result depends on the configured resolution.
[in] | resolution | Bit resolution. |