Hola
He estado buscando y no he encontrado la respuesta especifica a una serie de preguntas cortas con (espero) facil y rapida respuesta, a ver si me podeis echar un cable.
Es sobra los ADC de un pic18f4550, uso resolucion de 10 bits, con lo que almaceno el resultado en un int16
Weno aqui el codigO:
setup_adc_ports( ALL_ANALOG );
setup_adc( ADC_CLOCK_DIV_64);
setup_vref(FALSE);
set_adc_channel(canal);
delay_us(10);
voltaje = Read_ADC();
Y ahora las preguntillas:
1- la funcion setup_adc(ADC_CLOCK_DIV_64) es el valor "mas optimo" para una velocidad del pic de 48MHZ? (es que veo que todo el mundo usa ADC_CLOCK_INTERNAL)
2- Es obligatorio el delay de 10us como dice el manual de CCS? (he visto mucha gente que no lo usa, entonces no se....) Y si hago 6 lecturas seguidas debo hacer un delay o algo despues del read_adc? (a ver, que convertir 10 bits "le lleva su tiempo")
3- si uso setup_vref para poner tension de referencia por ejemplo setup_vref(VREF_HIGH | 6) que serian 2.19v, eso significa que el ADC usa eso como tension maxima en vez de los 5v no? (da de 0 a 1023 entre 0v y 2.19v). La cosa es que pasa con el pin 5 de mi pic (AN3|VREF+) tengo ahi ese valor (2.19v) o puedo usar dicho pin como entrada analogica como especifique con setup_adc_ports?
4- Otra opcion equivalente a setup_vref seria en el pin 5 meter yo con potenciometro por ejemplo esos 2.19v???
Muchas gracias por vuestro tiempo
Saludos