Hola
Tengo un problema y la verdad no creo que sea algo externo, pensando bien las cosas creo que mi problema es de software y que no estoy colocando ningún retardo para hacer el cambio de canal del ADC. No lo hago porque "supuse" que no era necesario ya que entre cada selección de canal realizo algunos procesos que según yo se llevan un tiempo, por ese motivo no coloqué ningún retardo.
El código es el siguiente:
Codigo:
#INT_TIMER1
void adquisicion()
{
if(--conteo==0)
{
set_adc_channel( 0 );
adquirir();
set_adc_channel( 3 );
adquirir();
conteo=periodo;
}
set_timer1(65486);
}
donde
void adquirir()
{
dato = read_adc();
datolow=dato;
datohigh=make8(dato,1);
putc(datohigh);
putc(datolow);
}
Mi pregunta es: ¿creen ustedes que sea necesario colocar de todos modos el retardo? El problema que tengo básicamente es que cuando no conecto nada en el canal 3, de todos modos recibo datos en mi programa de la computadora y lo chistoso es que son iguales a los que obtengo en el canal 0 que es el que utilizo. Creen ustedes que se deba al retardo o a algún problema de acoplamiento de señales? Espero me puedan echar una mano.
Gracias.