Amigos y compañeros, estoy empezando a estudiar el micro MSP430G2553, y estoy en la parte del ADC, estoy creando el siguiente codigo
para hacer las practicas.
#include <msp430g2553.h>
/*
* main.c
* P1OUT&=~BIT0; //apaga el LED
*/
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
ADC10CTL1 |= INCH_0|ADC10SSEL_1|CONSEQ_1;//canal0, fuente reloj ACLK, secuencia de canales.
ADC10CTL0 = SREF_1 | ADC10SHT_3 | REFON | ADC10IE | REF2_5V;
ADC10AE0 |= BIT0|BIT1; //Analog Enable
ADC10CTL0 |= ADC10ON|ENC|ADC10SC; /*El núcleo es habilitado, Enable conversion, Start conversion */
//while(ADC10BUSY == 0)
__delay_cycles(200);
while(1){
int temp = ADC10MEM;
ADC10CTL0 &=~ ADC10ON; /*Apagamos */
ADC10CTL0 &=~ ENC;
//ADC10CTL0 &=~ ADC10SC; //no es necesario ya q al terminar la conversion se pone a 0
ADC10CTL0 |= ADC10ON|ENC|ADC10SC;
//while(ADC10BUSY == 0)
__delay_cycles(200);
}
}
Al querer utilizar este ciclo
//while(ADC10BUSY == 0)
no me genera codigo para simular en proteus. Utilizo el Code Composer Studio 6. Mi me pueden ayudar les agradezco.
Sabemos que quiero esperar a que ADC10BUSY == 0 pero no se porque no me funciona el codigo.
No quiero utilizar la rutina de retardos pero no me queda de otra.