Part Number: MSP430FR2111
Other Parts Discussed in Thread: MSP430FR5949,
Hi:
I refer to the image.When i enable internal reference, the ADC sample resault correctly,but the current consumption as higi as 60uA.
when i disable internal reference,the ADC sample resault error(10bit ADC :1023),the current consumption as low as 13uA.

void Init_ADC(void)
{
P1SEL0 = BIT0 + BIT1;
P1SEL1 = BIT0 + BIT1;
ADCCTL0 &= ~(ADCENC);
ADCCTL0 |= ADCON | ADCMSC | ADCSHT_2; // ADCON
ADCCTL1 |= ADCSHP | ADCSHS_2 | ADCCONSEQ_1|ADCSSEL_1; // repeat single channel; TB1.1 trig sample start
//ADCCTL2 |= ADCRES; // 10-bit conversion results
ADCMCTL0 |= ADCINCH_1 | ADCSREF_1; // A1 ADC input select; Vref=1.5V
ADCIE |= ADCIE0;
PMMCTL0_H = PMMPW_H; // Unlock the PMM registers
PMMCTL2 |= INTREFEN; // Enable internal reference
__delay_cycles(400); // Delay for reference settling
PMMCTL2 &=~ INTREFEN; //disable internal reference: 13uA
//Comment the statement 60uA
ADCCTL0 |= ADCENC; // ADC Enable
// ADC conversion trigger signal - TimerB0.1 (32ms ON-period)
TB0CCR0 = t1-1; // PWM Period
TB0CCR1 = t1-1; // TB1.1 ADC trigger
TB0CCTL1 = OUTMOD_3|CCIS_1; // TB1CCR0 toggle
TB0CTL = TBSSEL__ACLK | MC_1 | TBCLR; // ACLK, up mode
ADC_num=1;
}
#pragma vector=ADC_VECTOR
__interrupt void ADC_ISR(void)
{
switch(__even_in_range(ADCIV,ADCIV_ADCIFG))
{
case ADCIV_ADCIFG:
{
ADC_Result[ADC_num] = ADCMEM0;
if(ADC_num==0)
{
LPM3_EXIT;
ADCCTL0 &=~ ADCENC;
ADC_num=1;
ADCCTL0 |= ADCENC;
}
else
{
ADC_num--;
}
}break;
default:break;
}
}