This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC12 current consumption after enabling reference generator

On a CC430 MCU, I'm unable to lower the current consumption after reading an ADC12 channel with the internal reference generator enabled. When Vcc is taken as the reference, I'm successfully getting under 2 uA (LPM3) but after enabling the ref generator I'm unable to go below 111 uA (LPM3), most probably because of being unable to disable the generator.

this is my current code:

// Set ADC reference 
if (analogRef == ADCREF_VCC)
ADC12MCTL0 = ADC12SREF_0; // Vr+=Vcc and Vr-=AVss
else
{
while(REFCTL0 & REFGENBUSY);
// Enable shared reference
REFCTL0 |= REFMSTR + analogRef + REFON;
ADC12MCTL0 = ADC12SREF_1; // Vr+=Vref+ and Vr-=AVss
}
ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time=64 cycles, ADC12 on
ADC12CTL1 = ADC12SHP; // Use sampling timer
ADC12MCTL0 |= channel; // Select channel
ADC12CTL0 |= ADC12ENC | ADC12SC; // Enable ADC and start conversion
__delay_cycles(250);
while (!(ADC12IFG & BIT0)); // Wait until ADC is completed
ADC12IFG = 0;

// POWER: Turn ADC and reference voltage off to conserve power
ADC12CTL0 &= ~(ADC12ON);
REFCTL0 &= ~REFON;
REFCTL0 |= REFTCOFF; // Temp sensor disabled

    return ADC12MEM0;


It's like if "ADC12CTL0 &= ~(ADC12ON)" and "REFCTL0 &= ~REFON" is not working

Any ideas?

Thanks!.

**Attention** This is a public forum