Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola! Estoy aprendiendo a usar el conversor analógico/digital del pic 16f876 para usar el GP2D12 en un robot de laberinto. Para la programación utilizo el CCS. El problema con el que me encuentro ahora es que necesitaría usar como entradas analógicas RA0, RA1 y RA2 y el resto como entradas digitales (nada de tensiones de referencia). Pues bien, abro el asistente de nuevo proyecto y me encuentro con que en la pestaña "Analog" no da posibilidad de escoger sólo estas tres entradas. Si las configuro una por una en la pestaña "I/O Pins" funcionará o es una limitación de pic???
La faena es que la placa ya la tengo hecha, y ando muy corto de tiempo como para hacer un nuevo diseño... Al menos me consuela que tengo diseñado que RA3 y RA5 son las entradas digitales para indicarle el camino, y por tanto podría solucionarlo cambiando parte del programa.
Por probar... cuando configures las entradas podrias pasarte a ensamblador a ver si así lo acepta. Creo recordar que se podian combiar los lenguajes pero no recuerdo como.
Saludos
a ver, las combinaciones posibles son:
de RA5 a RA0, RA4 no puede ser analogica
A-AAAA
A-VAAA
D-ADAA
D-VDAA
D-DDDD
A-VVAA
D-VVAA
D-VVDA
Por lo tanto la combinacion que tu dices D-DAAA no es posible
P.D. pero eso con unos buenos puentes en la placa se puede arreglar 🙂
Bueno, pues ya lo he solucionado con una nueva placa 😆
Ya tengo que poner RA0, RA1 y RA3 como entradas analógicas y RA2, RA4 y RA5 como entradas digitales. Me imagino que las puedo configurar a pelo, no? O sea:
setup_adc_ports(AN0_AN1_AN3);
setup_adc(ADC_CLOCK_DIV_2);
set_tris_a(0x1F);
Estoy en lo cierto?
Hombre lo del ADC_CLOCK_DIV_2, no se yo...
puede ser _DIV_2, _DIV_8,_DIV_32 o _INTERNAL. Si no quieres tener problemas pon INTERNAL, para los otros tienes que hacer una serie de cuentas, dependiendo de la velocidad de tu oscilador.