TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Simon21 en 16 de Julio de 2015, 19:36:25

Título: Invertir trama Serie RS-232
Publicado por: Simon21 en 16 de Julio de 2015, 19:36:25
Hola a todos !!!

Necesito saber si alguien alguna vez le ha tocado invertir una trama serie.

En este caso necesito hacer una especie LIFO (Last input, First Output) con la trama, de forma tal que
el primer bit que entra, sea el último en salir.

En principio mi idea es utilizar un micro con doble puerto RS-232, de forma tal que la trama que me llega por
uno de los puertos, la saco por el otro puerto invertida.

Alguien puede recomendarme algo respecto a esto ?? Alguien paso por esto antes??

Gracias y saludos a todos desde Argentina.

Título: Re: Invertir trama Serie RS-232
Publicado por: QIQE en 16 de Julio de 2015, 19:58:29
Supongo que almacenando tus datos en un vector, cuando terminen de llegar todos los puedes sacar por el otro puerto serie, leyendo el vector desde el último elemento hasta el elemento 0, tus necesidades implican que no puedes empezar a enviar hasta ni recibir todo el mensaje, soluciona esto tu duda??
Título: Re: Invertir trama Serie RS-232
Publicado por: Simon21 en 16 de Julio de 2015, 20:01:12
Hola QIQE, en principio era lo que mas o menos me imaginaba, quizá pense que había otra forma de hacerlo.

Ahora bien, que micro me recomiendan para hacer esto ?? Debería utilizar alguno que tenga 2 puertos serie
y que sea lo más basico posible. (tengo muchos 16F877A en stock  :x :x :5] :5])

Gracias por tu respuesta !
Título: Re: Invertir trama Serie RS-232
Publicado por: KILLERJC en 16 de Julio de 2015, 20:25:10
Si uno es recibir y el otro es enviar nomas entonces tal ves puedas usar un solo puerto UART, el RX para recibir y el TX para enviar. Imagino que se puede, y que son masomenos "independiente" entre uno y otro, lo unico que ambos van a tener que tener el mismo baudrate, que es lo unico en comun que comparten segun los diagramas.

Si queres hacer un full-duplex, te queda o 2 UART por HW, o 1 UART por HW y uno por soft, pero eso depende de lo que tengas que hacer en el soft.

Y tal como dice QIQE, solamnet invertis el indice del array.
Título: Re: Invertir trama Serie RS-232
Publicado por: Simon21 en 16 de Julio de 2015, 20:39:58
Gracias por tu respuesta KILLERJC.

Es lo más logico lo que me planteas. Al ser la comunicación unidireccional, puedo utilizar un solo puerto,
de forma tal de recibirlo con Rx y re transmitirlo con Tx.  ((:-)) ((:-))

Me parece que voy a utilizar los 16F877A que tengo en stock nomás ya que la velocidad es la misma
en ambas tramas de entrada y salida  :-/ :-/ :-/
Título: Re: Invertir trama Serie RS-232
Publicado por: KILLERJC en 16 de Julio de 2015, 20:54:35
Hace la prueba, pero estoy con que deberia ser posible, de un PDF de Microchip:

Citar
The USART’s transmitter and receiver are functionally independent but use the same data format and baud rate
Título: Re: Invertir trama Serie RS-232
Publicado por: Simon21 en 16 de Julio de 2015, 20:57:43
Gracias por la info KILLERJC !!  ((:-)) ((:-))

Apenas realice las primeras pruebas te comento que tal me fue  :-) :-)

Saludos !
Título: Re: Invertir trama Serie RS-232
Publicado por: Simon21 en 17 de Julio de 2015, 10:29:35
Funcionaría perfecto de esa manera!!

Alguien podría decirme cuál es el modelo más basico de pic de la linea microchip
que posea comunicación RS232 ??  Es demasiado grande el 16F877A, también queda
bastante grande el 16F876.  :shock:

Gracias y saludos !!
Título: Re: Invertir trama Serie RS-232
Publicado por: juaperser1 en 17 de Julio de 2015, 10:41:05
PIC12F1572

El las barato, por ser el que se produce en un numero mayor. Además bastante nuevo y bueno para lo pequeño que es, tienes mas periféricos que algunos mas caros.

Un saludo