I don't see anywhere the nrf_adc_disable is called when the buffer is filled with adc samples.
I don't see anywhere the nrf_adc_disable is called when the buffer is filled with adc samples.
Feel free to use this as you see best fit, but the typical sequence is (for best accuracy the external crystal oscillator should be running):
// Start HFCLK
// Wait for HFCLK is running (or use a fixed 1.5ms delay timer)
// Enable SAADC
// Measurements
// Disable SAADC (save power)
// Release HFCLK (save power)