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

SAADC read only 3V although input is 3.3V

Hi, I use default config:

#define NRFX_SAADC_DEFAULT_CHANNEL_CONFIG_SE(PIN_P) \
{                                                   \
    .resistor_p = NRF_SAADC_RESISTOR_DISABLED,      \
    .resistor_n = NRF_SAADC_RESISTOR_DISABLED,      \
    .gain       = NRF_SAADC_GAIN1_6,                \
    .reference  = NRF_SAADC_REFERENCE_INTERNAL,     \
    .acq_time   = NRF_SAADC_ACQTIME_10US,           \
    .mode       = NRF_SAADC_MODE_SINGLE_ENDED,      \
    .burst      = NRF_SAADC_BURST_DISABLED,         \
    .pin_p      = (nrf_saadc_input_t)(PIN_P),       \
    .pin_n      = NRF_SAADC_INPUT_DISABLED          \
}

And this is may calculation:

    nrfx_saadc_sample_convert(0, &saadc_val);
    temp = 3600 * saadc_val / 1024.0;

The temp is about 3.0V when real input is 3.3V. Pls give me a solution, Tks in advanced

Parents Reply Children
Related