Tool/software:
in the datasheet,ADC features as bellow:Differential signal conversions (16-bit mode only)• Single-ended signal conversions (12-bit mode only)• Input multiplexer with up to 16 channels (single-ended) or 8 channels (differential)
i want to know in differential mode,which channel is adcin-p and which is the adcin-n?what will happen if i congifure the adc as 16bit mode and single-ended?
Hello,
16-bit resolution is only supported for differential signal conversion. Regarding pin selection, you can refer to the following table in the TRM:
Best Regards,
Masoud
Thanks for you reply.
i have another question.if i config the adc to 16bit-single,the data will be 16bit but valid data is the high 12bit?as bellow
void ConfigureADC(void)
{
EALLOW;
//
//write configurations
//
AdcaRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4
AdccRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4
// AdcbRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4
AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);
AdcSetMode(ADC_ADCC, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);
// AdcSetMode(ADC_ADCB, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);
//
//Set pulse positions to late
//
AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;
AdccRegs.ADCCTL1.bit.INTPULSEPOS = 1;
// AdcbRegs.ADCCTL1.bit.INTPULSEPOS = 1;
//
//power up the ADC
//
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
AdccRegs.ADCCTL1.bit.ADCPWDNZ = 1;
// AdcbRegs.ADCCTL1.bit.ADCPWDNZ = 1;
//
//delay for 1ms to allow ADC time to power up
//
DELAY_US(1000);
EDIS;
}
thanks.
Hello,
When you configure the ADC in 16-bit resolution, the result is returned in a 16-bit register, and all 16 bits are valid — not just the high 12 bits.
Best Regards,
Masoud