Controlar impresoras con Micro

Saludos Grupo. Hace un par de días que tengo aquí una impresora matricial para tirar, pero me da pena, y me pregunto ¿será muy complicado imprimir directamente desde un Micro? he estado rezando a San Google, pero encuentro mucha información para programar en C en 8086 (usea-sé PC), y sobre el driver HPGL/2, pero mi primera aproximación me gustaría hacerla para imprimitr solo texto, quiiicir, comunicación pedestre en plan mandar una palabra y que la imprima. Saludos y gracias

Reply to
Fleming
Loading thread data ...

Jo, qué antiguo suena esto, y en realidad hace sólo 10 o 15 años la mayoría de impresoras eran matriciales.

A ver, que hago memoria. Supongo que la impresora usa interface paralelo Centronics. Es de lo más simple de usar, y es lo primero que tienes que estudiar. Básicamente, para enviar un byte a la impresora, hay que comprobar el estado de algunas señales que genera la impresora (ACK, Busy, y alguna más), y si la impresora está lista para recibir, enviarle el byte. Enviar un byte consiste en poner los 8 bits del byte en las patillas D0 a D7, y dar un pulso en la patilla Strobe (no recuerdo ahora la polaridad de esta señal). Todas las señales son TTL, así que las puedes manejar directamente con los ports de un microcontrolador (no dices si te refieres a un microcontrolador o un microprocesador).

Una vez que sepas como enviar bytes, ya se trataría de saber qué es lo que hay que enviar. En principio, en el 99% de las impresoras matriciales, funcionan los códigos ASCII, exactamente igual que si enviaras datos a un terminal, es decir, toda la tabla de caracteres, el retorno de carro, etc. Es decir, si por ejemplo mandas un byte con valor 65, la impresora imprimirá una "A". Para imprimir y nada más, es así de simple.

Luego ya, si quieres hacer cosas más raras, empiezan las complicaciones. Me refiero por ejemplo, a cambiar el tamaño o tipo de letra, dejar microespacios entre caracteres, cambiar el número de columnas, imprimir gráficos, etc. Todo eso depende del estándar que utilice la impresora, y ya varía mucho. La mayoría utilizaban el estándar de Epson (creo que se llamaba ESC-P), pero había otros. Eso depende del modelo de impresora, pero en general, se trata de enviar combinaciones de caracteres. En el estandar de Epson creo que estas cosas "especiales" se hacían enviando Escape (27) seguido de otro u otros valores, que correspondían a distintos comandos.

--
Saludos de Jose Manuel Garcia
jose.mgg@terra.es
 Click to see the full signature
Reply to
Pepitof

PIC para ser más exactos, el 16F877 que tiene más patillas y las voy a necesitar.. Me imaginaba que sería algo así, haré un par de pruebas rápidas.. el Strobe dices, me documentaré bien dobre las señales del Centronics

Para escrinbir texto si que parece sencillo...

Lo que me cuesta encontrar son estos comandos, porque en PC están integrados en el driver y son transparentes a mi, cuando me canse de escribir "Hola Mundo..." empezaré con los formatos gráficos, aunque seguro que me aburro antes:

formatting link

Gracias, ya probaré y os cuento por si alguien quiere dotar a su PIC se otro periférico de comuncicación con el exterior!!!

Reply to
Fleming

Por lo que yo recuerdo, es tal como dice Pepitof, pones los ocho bits de datos en paralelo y un pulso de un microsegundo en strobe, cómo si fuera un bus de datos sin casi ningún protocolo. Tambien hay otras lineas para controlar cuando se queda sin papel, se llena el buffer, o la presencia de la propia impresora.

Yo los tengo en un programa DOS, podría copiarlos seguramente de algún modo directamente de la pantalla, porque no estan en formato texto. Si no los encuentras dimelo.

Reply to
Nolo Pongo

En su época, todas las impresoras bajo DOS, se decían compatibles IBM Proprinter. Era el estandar puro y duro, para enviar texto simple.

Mira por Google, algo debe haber sobre este estandar.

Reply to
Cangrejo Moruno

rados

urro

Las secuencias de escape varian segun la marca y el modelo de la impresora, si bien siguen a las Epson como standard tienen sus diferencias. En el manual que venia con las impresoras viejas estaba todo lo que necesitas, los niveles de tension y corriente de las se=F1ales, los timings y todas las secuencias de escape.

Eduardo.

Reply to
Eduardo

Fleming decía:

Y además, en principio cualquier impresora actual acepta texto puro y duro como ya te lo han contado, aunque puede ser que la impresora no se inmute hasta haberle enviado un buen carro de caracteres o haber trascurrido un rato o haberse llenado el búfer, o haber llenado una página entera, o recibir el carácter fin de documento o salto de página.

Otra cosa es que la impresora responda a aquellas secuencias para cambiar el tamaño de la letra, negritas, etc que funcionaban con aquellas matriciales.

Reply to
Jeroni Paul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.