Hi,
I am trying to add the SAADC to an existing project. SDK 14.2 - Softdevice.
I quickly changed the existing code as follows:
static void saadc_callback(nrf_drv_saadc_evt_t const *p_event) { uint32_t err_code; NRF_LOG_DEBUG("saadc_callback"); } int main(void) { bool erase_bonds; ret_code_t err_code; // Initialize. timers_init(); buttons_leds_init(&erase_bonds); ble_stack_init(); gap_params_init(configuration.board_name); gatt_init(); services_init(); advertising_init(); conn_params_init(); peer_manager_init(); application_timers_start(); //////////// APP_SCHED_INIT(SCHED_MAX_EVENT_DATA_SIZE, SCHED_QUEUE_SIZE); advertising_start(erase_bonds); nrf_drv_saadc_config_t saadc_config = NRF_DRV_SAADC_DEFAULT_CONFIG; saadc_config.resolution = NRF_SAADC_RESOLUTION_14BIT; saadc_config.oversample = NRF_SAADC_OVERSAMPLE_DISABLED; err_code = nrf_drv_saadc_init(&saadc_config, saadc_callback); APP_ERROR_CHECK(err_code); nrf_saadc_channel_config_t channel_config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN3); channel_config.reference = NRF_SAADC_REFERENCE_INTERNAL; channel_config.acq_time = NRF_SAADC_ACQTIME_3US; channel_config.pin_p = NRF_SAADC_INPUT_AIN3; channel_config.pin_n = NRF_SAADC_INPUT_DISABLED; channel_config.gain = NRF_SAADC_GAIN1_6; channel_config.burst = NRF_SAADC_BURST_DISABLED; err_code = nrf_drv_saadc_channel_init(0, &channel_config); APP_ERROR_CHECK(err_code); err_code = nrf_drv_saadc_buffer_convert(adc_buf[0], SAMPLES_IN_BUFFER); APP_ERROR_CHECK(err_code); err_code = nrf_drv_saadc_buffer_convert(adc_buf[1], SAMPLES_IN_BUFFER); APP_ERROR_CHECK(err_code); NRF_LOG_DEBUG("Manual Measuring...."); err_code = nrf_drv_saadc_sample(); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { app_sched_execute(); if (NRF_LOG_PROCESS() == false) { power_manage(); } } }
Unfortunately, the callback gets never been called.
Please, what am I doing wrong?
Thanks