Olá pessoal,
Estou usando o IAR kickstart e um o MSP430F2012.
Tenho uma aplicação onde quero ler um canal AD (canal 4), tomar uma decisão e passar a ler outro canal (canal 0), o qual vai ficar continuamente sendo lido.
Acontece que não estou conseguindo!!
No código abaixo, o primeiro canal que eu configurar é o que fica funcionando. O segundo parece não ser ativado.
Onde está o problema?
Fonte:
Confirguração do primeiro:
ADC10CTL1 = INCH_4 + CONSEQ_2; // A4, single sequence
ADC10CTL0 = ADC10SHT_2 +ADC10ON+ MSC + REFOUT + ADC10IE + ENC + ADC10SC;// + REFOUT
ADC10DTC1 = 0x01; // 1 conversions
ADC10AE0 = 0x10; // P1.4 ADC10 option select tensao 0x01
ADC10DTC0=ADC10CT; //O armazenamento (transferencia será feito automaticamente
ADC10SA = (short)&ad_tensao;
Esse é o segundo:
__disable_interrupt();
ADC10CTL0 &= ~ENC;
while (ADC10CTL1 & BUSY);
ADC10CTL0 = 0x0000;
ADC10CTL1 = 0x0000;
ADC10CTL1 = INCH_0 + CONSEQ_2; // A0, single sequence
ADC10CTL0 = ADC10SHT_2 + ADC10ON + MSC + REFOUT + ADC10IE + ENC + ADC10SC;// + REFOUT
ADC10DTC1 = 0x01; // 1 conversions
ADC10AE0 = 0x01; // P1.0 ADC10 option select corrente
delay_ms(10);
ADC10DTC0=ADC10CT; //O armazenamento (transferencia será feito automaticamente
ADC10SA = (short)&ad_corrente;