This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52832 SAADC Can't Calibrate, Hangs

Hello, I've got an nRF52832 on a custom board and I am unable to perform an SAADC calibration correctly.

I'm using SDK14, SD212 v4.0.2., and my main application code broadcasts a message every second via ANT. The message sent is derived from the SAADC value. I've currently got the SAADC in callback mode, single acquisition, gain1/2, VDD/4 Reference, Acq 10uSec, single input, single sample, 12-bit, no oversample, low-power enabled, interrupt priority 6.

I init saadc drv, then saadc channel 0 with the above settings. At this point, if I call nrf_drv_saadc_calibrate_offset() it appears to do nothing (but this is expected as I believe the SAADC status is busy). If I attempt to abort any SAADC process with nrf_drv_saadc_abort() before calling nrf_drv_saadc_calibrate_offset(), the SAADC becomes unresponsive and the buffer contains a static value (usually something low, in the 4-12 range).

I've based the above on the example for low power with calibration and when I try to implement that in my project I get the above results. Anybody have any ideas? Thanks.

Related