Saludos de nuevo!
Estoy acabando ya el proyecto, pero se me presenta una última dificultad.
Estoy usando el pin RA3 como salida digital para controlar un BJT que actúa de switch.
El caso es que, configuro este pin:
- TRISA = 0xF1
- ADCON0 = 0x00
- ADCON1 = 0x07 // Todo el puerto A como digital.
- CMCON = 0x36 // RA0-RA3 Entradas analógicas a los comparadores.
En mi código, solamente estoy empleando el comparador 1, en concreto, en el modo de comparación CM2:CM0 = 110, en el que comparo la señal que me entra por RA0, con un voltaje generado internamente y gestionado con CVRCON.
Lo que quiero es que se encienda y se apague ese puerto cada vez que pulso un pulsador. En ISIS, no hay ningún problema, pasa de nivel bajo a nivel alto y viceversa cada vez que pulso el interruptor, sin embargo, cuando construyo el circuito en una protoboard, este puerto pasa de nivel bajo a alto (desde el reset, cuando le pulso la primera vez), pero al volver a pulsar el pulsador, no vuelve a nivel bajo, permanece indefinidamente a nivel alto (hasta que lo reseteo con MCLR).
¿Puede ser de la configuración CM2:CM0 = 110 del registro CMCON?
Si solamente estoy usando el pin RA0 como señal de entrada de tensión, puedo usar RA2 como salida digital?
Muchas gracias !