What happens when we have a low power mode interrupt? I am using DMA to get ADC values and LPM0 is enabled whenever this happens. When I comment this line of code in the while loop in main, I am not getting the correct ADC values.
__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
while(1)
{
while (ADC10CTL1 & BUSY); // Wait if ADC10 core is active
ADC10CTL0 |= ADC10ENC + ADC10SC; // Sampling and conversion ready
// __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
//__delay_cycles(5000); // Delay between sequence convs
__no_operation(); // BREAKPOINT; check ADC_Result
}
Does the CPU need to be off when using DMA for ADC? Which low power mode should be used?
I am concerned about this because I will use the ADC values to generate duty cycle for controlling a power converter. What will happen to the timer modules when CPU is off? Will this affect the operation of the converter?
Thank you.