Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micro_pepe en 21 de Enero de 2020, 18:01:42
Título: Arreglo para configurar canal ADC
Publicado por: micro_pepe en 21 de Enero de 2020, 18:01:42
Sería esto correcto para seleccionar el canal del ADC?
los bits que lo configuran son del 2 al 6, en un PIC18F26K22
Código: C
void SelectADC_Canal(unsignedchar canal){
ADCON0 = ADCON0 &0b10000011;
ADCON0 = ADCON0 | canal <<2;
}
Gracias, un saludo!!!
Título: Re:Arreglo para configurar canal ADC
Publicado por: KILLERJC en 21 de Enero de 2020, 20:58:53
Mejor algo asi imagino:
Código: C
bool SelectADC_Canal(unsignedchar canal){
if(ADCON0bits.GO==1){return ERROR;}
ADCON0 =(canal <<2)+1;
return OK;
}
Me explico el porque...
Los unicos 2 bits que tenes son el 0 (ADON) y el 1 (GO/DONE), Si estas cambiando de canales, estas usando el ADC, por lo tanto lo tendrias activo, es decir ADON siempre seria 1. No creo que quieras cambiar canal y tener el modulo del ADC apagado, no le veo sentido. Ya que seguramente lo actives en el comienzo y quede asi para siempre.
El bit GO/DONE te permite saber si hay una lectura en progreso, por lo tanto al estar en 1 significa que no deberias cambiar el canal, ya que esta procesandose una lectura. Si esta en 0 si, y al estar en 0, te interesa que siga en 0, por eso no me preocupo.
Si tenes la precaucion de cambiar el canal cuando el ADC no esta convirtiendo, entonces solo una instruccion necesitarias.
Título: Re:Arreglo para configurar canal ADC
Publicado por: micro_pepe en 22 de Enero de 2020, 16:40:02