Appiko
hal_saadc.c
1 
19 #include "hal_saadc.h"
20 #include "nrf.h"
21 
28 void nrf_saadc_channel_init(uint8_t channel, nrf_saadc_channel_config_t const * const config)
29 {
30  nrf_saadc_channel_input_set(channel, config->pin_p, config->pin_n);
31  NRF_SAADC->CH[channel].CONFIG =
32  ((config->resistor_p << SAADC_CH_CONFIG_RESP_Pos) & SAADC_CH_CONFIG_RESP_Msk)
33  | ((config->resistor_n << SAADC_CH_CONFIG_RESN_Pos) & SAADC_CH_CONFIG_RESN_Msk)
34  | ((config->gain << SAADC_CH_CONFIG_GAIN_Pos) & SAADC_CH_CONFIG_GAIN_Msk)
35  | ((config->reference << SAADC_CH_CONFIG_REFSEL_Pos) & SAADC_CH_CONFIG_REFSEL_Msk)
36  | ((config->acq_time << SAADC_CH_CONFIG_TACQ_Pos) & SAADC_CH_CONFIG_TACQ_Msk)
37  | ((config->mode << SAADC_CH_CONFIG_MODE_Pos) & SAADC_CH_CONFIG_MODE_Msk)
38  | ((config->burst << SAADC_CH_CONFIG_BURST_Pos) & SAADC_CH_CONFIG_BURST_Msk);
39  return;
40 }