Hello,
in our project we would like to switch from 12-bit to 16-bit ADC. I'm however facing some trouble getting 16-bit values out of ADCRESULT.
In software I found out the change takes place in 2 function calls:
- ADC_setMode() needs parameters changed from ADC_RESOLUTION_12BIT to *_16BIT and ADC_MODE_SINGLE_ENDED to ADC_MODE_DIFFERENTIAL.
- ADC_setupSOC() needs a change in acquisition period and channel has "changed" from ADC_CH_ADCIN0 to ADC_CH_ADCIN0_ADCIN1.
In hardware the change included connecting:
ADCIN0 to signal 0-3V
ADCIN1 to signal 1.5V static
VSSA to GND
VREFLO to GND
VREFHI to 3.00V (reference)
In ADCRESULT0 I am still reading values typical for our previous 12-bit setup (in idle, values around 2048 which would hint I am still reading 12-bit results). I believe something is wrong in my software setup rather than in the HW connections (I expected values around 32 768).
I've checked register values touched by the two functions mentioned above and ADCCTL2.SIGNALMODE has indeed changed to 1 and so has the RESOLUTION field. CHSEL in ADCSOC0CTL is correctly set 0 for ADCIN0_ADCIN1.
I know it's hard to tell what might be wrong based on my description, but do you perhaps know of some test I could do to verify correct bitness of the AD conversion output?
Thank you
Jiri
