According to PS, external reference min. voltage is 0.83V. However, I've experimented with voltages of about 0.2V and it appears to work. Specifically, I connected a voltage divider with 47K to VCC=3.2V and 3K3 to GND, then connect the midpoint to pin p0.06 (AREF1), with the following code:
NRF_ADC->ENABLE = ADC_ENABLE_ENABLE_Enabled; NRF_ADC->CONFIG = (ADC_CONFIG_RES_10bit << ADC_CONFIG_RES_Pos) | (ADC_CONFIG_INPSEL_AnalogInputNoPrescaling << ADC_CONFIG_INPSEL_Pos) | (ADC_CONFIG_REFSEL_External << ADC_CONFIG_REFSEL_Pos) | (channel << ADC_CONFIG_PSEL_Pos) | (ADC_CONFIG_EXTREFSEL_AnalogReference1 << ADC_CONFIG_EXTREFSEL_Pos);
NRF_ADC->TASKS_START = 1; while (((NRF_ADC->BUSY & ADC_BUSY_BUSY_Msk) >> ADC_BUSY_BUSY_Pos) == ADC_BUSY_BUSY_Busy) ; value = NRF_ADC->RESULT;
It seems to work, but maybe it's an illusion... So the question is: actually what is supposed to happen exactly if I use an external reference voltage lower than 0.83V?
Regards, P.G.