TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Mady en 09 de Mayo de 2007, 16:23:30

Título: Trama de la USART del 16F877
Publicado por: Mady en 09 de Mayo de 2007, 16:23:30
Tengo que recibir información de un lector de codigos de barras. La idea es que el PIC reciba los caracteres a traves de su USART (16F877). La cuestión es que el formato que envía el lector es: 1bit de inicio,7 bits de código, como paridad ESpacio y dos bits de Paro. No me queda claro en el manual del PIC, si puedo configurar o no la UART con ese formato, creo que no. Mi duda entonces es:

Si el PIC espera recibir 1bit de inicio, 8 de código, 1 de paridad y 1 de Stop, ¿se van a "entender"?, ¿no se va a desincronizar la información?.

Gracias de antemano :g)
Título: Re: Trama de la USART del 16F877
Publicado por: maunix en 09 de Mayo de 2007, 17:18:50
La cuestión es que el formato que envía el lector es: 1bit de inicio,7 bits de código, como paridad ESpacio y dos bits de Paro.

No me queda claro como es la señal qeu te envíoa.  Com oes eso "paridad espacio" ?
Título: Re: Trama de la USART del 16F877
Publicado por: MGLSOFT en 09 de Mayo de 2007, 17:23:31
La cuestión es que el formato que envía el lector es: 1bit de inicio,7 bits de código, como paridad ESpacio y dos bits de Paro.

No me queda claro como es la señal qeu te envíoa.  Com oes eso "paridad espacio" ?


Seguramente debe haber leido paridad E (Even) y la tomo por Espacio...
Título: Re: Trama de la USART del 16F877
Publicado por: Deimos en 09 de Mayo de 2007, 19:09:14
Tengo que recibir información de un lector de codigos de barras. La idea es que el PIC reciba los caracteres a traves de su USART (16F877). La cuestión es que el formato que envía el lector es: 1bit de inicio,7 bits de código, como paridad ESpacio y dos bits de Paro. No me queda claro en el manual del PIC, si puedo configurar o no la UART con ese formato, creo que no. Mi duda entonces es:

Si el PIC espera recibir 1bit de inicio, 8 de código, 1 de paridad y 1 de Stop, ¿se van a "entender"?, ¿no se va a desincronizar la información?.

Gracias de antemano :g)

Una vez que llega la información al micro la puedes interpretar como quieras, como si quieres mandar 8 tramas donde los 8 bits del código solo esten representador por el bit que ocupan. La usart envia un ascii que son 8 bits. Ese ascii dentro del micro lo tratas como te sea mejor, pero el número de bits a de ser el mismo.

Salu2
Título: Re: Trama de la USART del 16F877
Publicado por: Mady en 10 de Mayo de 2007, 04:55:10
Lo de Paridad = Space, aparece tambien en el hyperterminal cuando seleccionas tipo de paridad, creo que significa que se envía siempre con valor cero.
Entiendo que yo puedo trabajar con los bits de datos como quiera, mi preocupación es que haya alguna desincronización por culpa de que mi lector use dos bits de STOP y la USART del PCI solo espere 1.
Además, no necesito trabajar con ningun tipo de paridad, ¿el hardware del PIC lo evita de alguan manera?

Saludos :g)
Título: Re: Trama de la USART del 16F877
Publicado por: maunix en 10 de Mayo de 2007, 08:39:10
Lo de Paridad = Space, aparece tambien en el hyperterminal cuando seleccionas tipo de paridad, creo que significa que se envía siempre con valor cero.
Entiendo que yo puedo trabajar con los bits de datos como quiera, mi preocupación es que haya alguna desincronización por culpa de que mi lector use dos bits de STOP y la USART del PCI solo espere 1.
Además, no necesito trabajar con ningun tipo de paridad, ¿el hardware del PIC lo evita de alguan manera?

Saludos :g)

Los pics solo manejan 8 o 9 bits de datos pero no 7.   En tu caso, tener 2 bits el bit de paridad y 2 de stop te beneficia en la recepción ya que el stop dura más tiempo de lo normal, lo cual no te perjudica en nada.

Ese 8vo bit de dato, que sería el de paridad, "debieras" usarlo para chequear que el dato llegó bien pero si no le haces caso a eso, bueno, el dato sería los 7 bits restantes.

Si tuvieras que enviar datos, la cosa sería otra.

Saludos