Página 1 de 1

Dúvida AD

MensagemEnviado: 14 Set 2009 17:31
por frodrigorocha
Olá pessoal, como faço quando preciso utilizar mais de uma entrada analógica, a configuração é tranquila (estou utilizando o CCS), porem como fica o comando read_adc() ?

Valeu.

MensagemEnviado: 14 Set 2009 19:16
por renanwalenczuk
Antes de ler o valor tu tens que escolher qual entrada tu vai monitorar através do parâmetro da função "set_adc_channel(param);".

set_adc_channel(0);//seta a entrada AN0 para ser lida
set_adc_channel(1);//agora o valor do ad vai ser o valor do AN1

Exemplo:

set_adc_channel(1);
valor = read_adc();

Abraço

MensagemEnviado: 14 Set 2009 19:19
por frodrigorocha
Valeu pelas respostas Renan.


Abraço

MensagemEnviado: 15 Set 2009 00:38
por geraldomelo
não esquecer tbm de colocar um delay depois de setar o canal do adc :
ex:

set_adc_channel(1);
delay_us(25);
valor = read_adc();

abs

Geraldo

MensagemEnviado: 15 Set 2009 21:16
por _blackmore_
para ilustrar um pouco mais ...

tens q dizer para o uC qual a resolução do AD que vais utilizar, e configurar quantas entradas irá utilizar ... depois em momento oportuno tu faz a leitura do canal AD escolhido, o delay para estabilizar leitura, atribui o valor do AD para uma variável e aí sim o utiliza no que precisar ...

Código: Selecionar todos
#device adc=8    //seta AD de 8 bits

setup_adc(ADC_CLOCK_INTERNAL); // utilizará clock interno para AD
setup_ADC_ports(AN0_AN1_AN3);    // ativa entradas 0, 1 e 3 do AD

MensagemEnviado: 15 Set 2009 22:06
por B-EAGLE
se tem uma coisa que eu parei de utilizar foi essas funções prontas das IDE`s pra PIC, não sei oque os caras conseguem fazer, mas um simples adc_read() demora séculos a mais do que se fizer no braço, com verificação de ocupado e tudo mais....

recomendo ler os datasheets da microchip, na parte dos ADs tem lá passo a passo pra fazer a leitura correta da grandeza analógica..... ;)