Troca de canal do AD no MSP430

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

Troca de canal do AD no MSP430

Mensagempor kurbas » 22 Jan 2010 09:47

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;
kurbas
 
Mensagens: 2
Registrado em: 03 Mar 2009 16:08

Mensagempor kurbas » 25 Jan 2010 13:15

Daí pessoal, "meio" que resolvi meu problema!

A configuração e troca de canal estava certa. O problema é que o DTC não aceita a troca do destino da leitura do AD.

Ao invés de mudar:

ADC10SA = (short)&ad_tensao;
para
ADC10SA = (short)&ad_corrente;

Mantive o endereço que trabalhei com a mesma variável.

Gostaria de saber apenas o porque disso!

Alguém sabe??
kurbas
 
Mensagens: 2
Registrado em: 03 Mar 2009 16:08


Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x