Hola a todos.
Empezando a utilizar el USART, he intentado comunicar dos pic16f877a conectandolos directamente mediante 2 cables:
- El PIC transmisor aumentar un registro cada cierto tiempo (200ms) y lo saca por su puerto D. Ademas envia ese registro al PIC receptor.
- El receptor recibe ese registro y lo saca por su puerto D. Al final el puerto D de los dos pics tiene el mismo resultado en binario.
Despues de varios dias de sudor y lagrimas, y gracias a la informacion sacada de este foro, he conseguido que funcione (en proteus, en realidad todavia no lo he probado) lo arriba descrito, asi que he intentado ir un paso mas alla intentando conectarlos, no directamente, sino por medio de un MAX487.... y ha dejado de funcionar.
Os adjunto el archivo de Proteus y los archivos .hex para que lo comprobeis. El caso es que:
- La comunicacion no funciona
- Salen errores "logic contention detected on net", pero por mucho que los he estudiado, no logro dar con la razon. Al principio puse resistencias en diferentes puntos del 487, como vi en varias webs y en la hoja de datos, pero el resultado no cambia en absoluto.
La dudas que me surjen:
1) De verdad es problema de Proteus?
2) Al incluir el max487, es necesario cambiar en algo el programa? (yo lo he dejado tal cual)
3) Los pines 2,3 del max487 se deben poner en estado alto o bajo para que el chip funcione? Como no me quedaba muy claro este punto, lo he intentado de las dos maneras, pero tampoco cambia...
Gracias a todos por sus respuestas