Hello,
I am working on nRF52832 SDK 15.3.0 in segger studio.
In my project I have 2 ADC input pin.
ADC initialization is as shown below,
#define SAMPLES_IN_BUFFER 2
static nrf_saadc_value_t adc_buffer[SAMPLES_IN_BUFFER];
/*ADC init start*/
void saadc_callback(nrf_drv_saadc_evt_t const * p_event)
{
if (p_event->type == NRF_DRV_SAADC_EVT_DONE)
{
ret_code_t err_code;
uint8_t i = 0;
err_code = nrf_drv_saadc_buffer_convert(p_event->data.done.p_buffer, SAMPLES_IN_BUFFER);
APP_ERROR_CHECK(err_code);
NRF_LOG_INFO("ADC event number: %d", (int)m_adc_evt_counter);
for (i = 0; i < SAMPLES_IN_BUFFER; i++)
{
adc_buffer[i] = p_event->data.done.p_buffer[i];
NRF_LOG_INFO("%d", p_event->data.done.p_buffer[i]);
}
}
}
/**/
/*SAADC initialization*/
void saadc_init(void)
{
ret_code_t err_code;
nrf_saadc_channel_config_t channel_config_channel_6 =
NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN6);
nrf_saadc_channel_config_t channel_config_channel_7 =
NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN7);
err_code = nrf_drv_saadc_init(NULL, saadc_callback);
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_saadc_channel_init(6, &channel_config_channel_6);
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_saadc_channel_init(7, &channel_config_channel_7);
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_saadc_buffer_convert(adc_buffer, SAMPLES_IN_BUFFER);
APP_ERROR_CHECK(err_code);
}
And every 0.5 second I read channel by below function:
err_code = nrf_drv_saadc_sample(); // Check error
APP_ERROR_CHECK(err_code);
I want to read single channel, so how can I read single channel?
Give me suggestion to read single channel.