TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: redep en 11 de Noviembre de 2008, 21:44:26

Título: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: redep en 11 de Noviembre de 2008, 21:44:26
Hola.

      Haber si alguien me puede ayudar con mi "problemilla"tengo dos pics los cuales se comunican mediante usart. Mi problema biene ya que el segundo pic debe recibir 12bytes SEGUIDOS pero lo que no se sabe es cuando empezara la recepcion porque es aleatorio el comienzo de la recepcion. No seria un problema si el segundo pic estuviera solo expresamente para recibir esos bits pero no es asi, tiene que acer toda una serie de cosas.

       Hay alguna bandera o algo para que yo pueda manejar ese trafico desde la el pic que RX.

Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: Nocturno en 12 de Noviembre de 2008, 03:13:59
¿La recepción de la USART está gestionada por interrupción?
Si es así no debes preocuparte; la interrupción saltará cuando llegue el primer dato.
Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: ASTROCAR en 12 de Noviembre de 2008, 06:44:57
Exacto como ya te comento el colega nocturno estudia el tipo de interrupcion por recepcion de la USART, y asi tu pic receptor puede estar operando tranquilo  y hasta que no vea una reccion en el USART el no recibira nada hasat que eso suceda y ejecute las rutinas que tu desarrolles para que te reciba los dichos 12 bits que comentas, perdon los 12 bytes jajaja.

Ahora la menera de manejar esa interrupcion es dependiendo del lenguaje que estes usando por eso no te damos mayores noticias al respecto.

Saludos y espero que estes mas claro en el tema.
Atten.
Alexander Santana.
Barcelona-Venezuela.
Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: redep en 12 de Noviembre de 2008, 07:23:28
Gracias a los dos pero tengo una duda sobre lo que me habeis dicho si uso una interruccion en cuanto ocurra saltara sin importarle lo que este haciendo.

Despues cuando termine de gestionar la interrupcion podria volver exactamente a lo que estaba haciendo(perdon por mi ignorancia) es decir justo donde se quedo.

Pensando esta mañana se me ocurrio que se podria enviar el primer byte de los 12 y esperar asta que no se produzca una confirmacion de envio de los demas bytes por parte del receptor mediante la usart o mediante una linea con 5v.


Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: Nocturno en 12 de Noviembre de 2008, 07:47:31
Al finalizar la interrupción el programa continuará por donde iba.

Y si quieres hacer control de flujo para asegurar la comunicación, lo mejor será que no te comas el coco inventando lo que ya está inventado. Te recomiendo que leas esto: RS232 (http://www.arcesio.net/modems/rs232.ppt) (página 11)
Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: joseto en 18 de Noviembre de 2008, 17:47:58
Hola, Redep
 :) Como ya lo manifiesta el Maestro Nocturno, es mejor utilizar la recepción de esos bytes por interrupción. Te puede servir poner un contador del número de caracteres recibidos, dentro del código que atiende la interrupción, para que cuando llegue al 12 se active una bandera y se pueda procesar esa información por bloque. Otra opción puede ser adicionar un byte al final para que indique fin de transmisión.

Un saludo
 :-)
Título: Re: detectar la recepcion de la usart en cuanto comienza la transmision?
Publicado por: jose374 en 26 de Noviembre de 2008, 07:07:22
Buenos dias amigo veo que tienes problemitas con la comunicación rs485!!! bueno te recomiendo que te pases por este hipervinculo haber de que te puede servir!!!

 rs487 (http://www.todopic.com.ar/foros/index.php?topic=23885.0)

Bueno espero que tengas suerte y resuelvas tu problemita!!!