TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Gioser12 en 11 de Julio de 2012, 19:51:39

Título: UART envio de codigo ZPLII
Publicado por: Gioser12 en 11 de Julio de 2012, 19:51:39
Que tal amigos, soy nuevo en esto ahora necesito de su ayuda, estoy programando un PIC en lenguaje C, este PIC debe recibir información de un sensor y mandarlo a un impresor de etiquetas Zebra, esta maneja un codigo ZPLII, resulta que para poder imprimir los datos que recibo debo insertar 4 lineas del codigo ZPLII, sin embargo al transmitir el dato del PIC a la impresora no se imprime nada, ahora he conectado el PIC a una PC con la hiperterminal y puedo ver que no me envia la información completa. Estoy usando UART_Write y por lo que he visto solo puedo enviar 1 byte de datos, me interesa saber si alguien sabe como puedo enviar más de 1 Byte. De antemano gracias.
Título: Re: UART envio de codigo ZPLII
Publicado por: AngelGris en 11 de Julio de 2012, 21:57:11
  Tendrás que repetir la instrucción UART_Write, las veces que sea necesario para lograr enviar todos los bytes que necesites.
Título: Re: UART envio de codigo ZPLII
Publicado por: Gioser12 en 17 de Julio de 2012, 20:16:27
  Tendrás que repetir la instrucción UART_Write, las veces que sea necesario para lograr enviar todos los bytes que necesites.

Es como lo estoy haciendo, uso alternadamente el UART  como sigue:

UART_Write_Text("^XA")     // Comando de inicio de etiqueta
UART_write_Text("^FO50,50^ADN,36,20^FD")
UART_write(dato1) 
UART_write_Text("^FS")
UART_write_Text("^FO50,70^ADN,36,20^FD")
UART_write(dato2) 
UART_write_Text("^FS")
UART_write_Text("^FO50,90^ADN,36,20^FD")
UART_write(dato3) 
UART_write_Text("^FS")
UART_write_Text("^XZ")

El detalle esta en que en la hiperterminal solo recibo las primeras 5 lineas, que es donde yo creo que se completa el bit, no se si hay alguna forma de limpiar el buffer o de reiniciar el envio.
Título: Re: UART envio de codigo ZPLII
Publicado por: MGLSOFT en 17 de Julio de 2012, 22:17:15
Posiblemente el impresor necesite que uses las lineas de control del puerto serie, para que te permita seguir enviando.