TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: cgardoni en 03 de Diciembre de 2016, 11:30:03
-
Buen Dia!!
Estoy tratando de comunicar dos pic 18f4550 por medio del modulo USART con el cometido de pasarle diez valores consecutivos desde uno a otro pic, soy novato y estoy iniciandome en la parte de comunicaciones, me falta mucho por recorrer aun.
Hice los dos programas, tanto emisor como receptor, los compile en el pic c y los probe en proteus donde el resultado es optimo, pero al pasar el diseño al protoboard no me funciona y note dos particularidades en eso:
- Si luego de energizar el prothoboad desconecto el RX del emisor, el receptor recibe el primer dato (es como si el emisor efectivamente lo envia pero por alguna cosa se queda colgado). En el emisor no hago uso de ninguna interrupcion.
-Medi la salida de TX de emisor y me da 4.60 v continuamente, cosa que creo esta bien ya que el RS232 cuando esta en inactivo mantiene nivel alto de voltaje
Adjunto un rar con esquematico y ambos fuentes.
Desde ya agradezco alguna ayuda ya que realmente me frustro un poco no poder hacer andar el primero que haga usando el modulo USART
Saludos
-
Nunca pero nunca pongas delays o rutinas pesadas que tienen delays dentro como son las del LCD dentro de una interrupcion.
Si queres en la interrupcion guarda los valores nomas y pone una variable int1 en 1 para indicar que llego un dato, lo mejor es usar un array para ir almacenando los valores.
En el main cuando se detecte que esa variable se puso en 1, procede a mostrar en el LCD y hacer lo que quieras. Luego antes de salir del if que pregunta por la variable, pone en 0 a la varaible esta asi se espera un nuevo dato.
-
Muchas gracias por tomarte el tiempo para respònder!
voy a hacer lo que me decis a ver si tengo mas suerte y aviso.