Epson TM-T70

08/11/2007 - 18:12 por Catalin Lungu | Informe spam
Hola,
Tengo que hacer una clase para impresión de tickets con esta impresora
termica. No voy a usar ningún driver solo sequencias de escape que voy a
enviar por el COM2. El tema es que no me funciona mas que la impresión
estandar, no puedo modificar la fuente, no puedo poner negrita, subrayado
(0x1B 0x2D 0x31), no puedo inicializar la impresora (0x1B 0x40) y recoger
información de los sensores de la impr.

Tengo todas las secuencias de escape pero no soy capaz de seguir adelante.
Hay alguien que tenga experiencia con este tipo de programación?

Gracias,
Catalin

Preguntas similare

Leer las respuestas

#16 Hernan
12/11/2007 - 13:44 | Informe spam
On 12 nov, 13:17, "Catalin Lungu" wrote:
Creo que las secuencias están mal porque investigando mas he llegado a esto.

PStar.Write("\x1B\x40"); //Initializes the printer (ESC @)
System.Threading.Thread.Sleep(200);
PStar.Write("\x1B!0"); //Specifies font A (ESC !)
System.Threading.Thread.Sleep(200);
PStar.Write("January 14, 2002 15:00\x0A");
PStar.Write("\x1B!\x01"); //Selects font B
PStar.Write("TM-U210B $20.00\x0A");
PStar.Write("\x0A"); //Line feeding (LF)
PStar.Write("\x1B!\x11"); //Selects double-height mode
PStar.Write("TOTAL $58.00 \x0A");
PStar.Write("\x1B!\x00"); //Cancels double-height mode
PStar.Write("\x0A");
PStar.Write("CHANGE $ 2.00\x0A");
PStar.Write("\x1DV\x42\x00"); //Feeds paper & cut
//Drawer Kick (ESC p)
PStar.Write("\x1B\x70\x00\x3C\x78");

Con esto imprimo un ticket pero es muy poco. La verdad es que lo que yo
tengo en mi documentación no tiene mucho que ver con lo que hay arriba.

Puse lo que me dijiste y nada, no hace nada.



Como no he seguido todo el hilo de la conversación no se
si lo que menciono es relevante. Intuyo que si el
driver serial que usas funcionara bien
los Sleep() no deberían hacer ninguna diferencia.
Si se comporta distinto con o sin Sleeps entonces la biblioteca/clases
que usas para manejar los COM o están mal configurados (velocidad,
paridad, tamaño del buffer, etc.) o funcionan mal.
Respuesta Responder a este mensaje
#17 Catalin Lungu
12/11/2007 - 14:05 | Informe spam
Es que en un mensaje anterior te puse lo que hace la función write y que es
una función mia y que convierte la lo que le paso a arrays de bytes antes de
enviarlo. Y este codigo si que me funciona.
Ahora lo que dice Hernan puede que sea cierto, si le quito los Sleep imprime
cosas raras. Yo juraria que la configure justo como viene en el manual.
Respuesta Responder a este mensaje
#18 RFOG
12/11/2007 - 16:06 | Informe spam
"Catalin Lungu" wrote in message
news:eAE$
Es que en un mensaje anterior te puse lo que hace la función write y que
es una función mia y que convierte la lo que le paso a arrays de bytes
antes de enviarlo. Y este codigo si que me funciona.
Ahora lo que dice Hernan puede que sea cierto, si le quito los Sleep
imprime cosas raras. Yo juraria que la configure justo como viene en el
manual.




Cierto a lo que dice Hernán. Prueba desde un PC sin los Sleep, y si va bien
es lo que he comentado en otro mensaje:

"Pues ya no sé qué decirte. A veces (y sólo a veces), los relojes de las
placas no tienen divisor exacto para controlar las UARTs, y se pueden
producir ciertos desfases, como que la velocidad real sea de 115205 en lugar
de 115200 y que tu impresora sea demasiado pejigueras"

Generalmente los relojes de los PCs van a tanta frecuencia que los divisores
suelen ser exactos.
Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
Tu secreto debe pasar a formar parte de tu sangre.
Respuesta Responder a este mensaje
#19 Catalin Lungu
12/11/2007 - 16:23 | Informe spam
Pues nada, muchas gracias por todo. Si lo consigo ya te informaré.

Un saludo,
Catalin
Respuesta Responder a este mensaje
#20 Hernan
12/11/2007 - 16:36 | Informe spam
On 12 nov, 14:05, "Catalin Lungu" wrote:
Es que en un mensaje anterior te puse lo que hace la función write y que es
una función mia y que convierte la lo que le paso a arrays de bytes antes de
enviarlo. Y este codigo si que me funciona.
Ahora lo que dice Hernan puede que sea cierto, si le quito los Sleep imprime
cosas raras. Yo juraria que la configure justo como viene en el manual.



Quizás la impresora no es la que no está bien configurada.
¿Qué estás usando para acceder al puerto COM?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida