Autor Tema: Trama de la USART del 16F877  (Leído 2855 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mady

  • PIC10
  • *
  • Mensajes: 19
Trama de la USART del 16F877
« 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)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Trama de la USART del 16F877
« Respuesta #1 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" ?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Trama de la USART del 16F877
« Respuesta #2 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...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Deimos

  • Visitante
Re: Trama de la USART del 16F877
« Respuesta #3 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

Desconectado Mady

  • PIC10
  • *
  • Mensajes: 19
Re: Trama de la USART del 16F877
« Respuesta #4 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)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Trama de la USART del 16F877
« Respuesta #5 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


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)