C/Visual C - impresora en C

 
Vista:

impresora en C

Publicado por Anselmo (8 intervenciones) el 21/08/2002 20:04:34
Utilizando una impresora en paralelo y abriendola con la instruccion:
fopen(\"LPT1\",\"w\"); funciona perfectamente pero necesito utilizar una
impresora en serie, si cambio LPT1 por COM1 se imprimen caracteres
raros, supongo por problemas de inicializacion.
¿Como puedo inicializar la impresora en el puerto serie ?

Tambien necesitaria saber como pasarle caracteres hexadecimales para inicializar el salto de hoja, etc. ¿se usa tambien fprintf?

Gracias por adelantado

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:impresora en C

Publicado por chuidiang (677 intervenciones) el 21/08/2002 21:20:33
No me hagas caso porque soy de la escuela antigua y quizás ahora se haga de otra manera.

Las impresoras serie solían llevar unos switchs para configurar cosas como bits de paridad, 7 u 8 bits, etc. Debes configurar el puerto serie desde inicio/configuracion/panel de control/sistema de la misma forma que tengas configurada la impresora. También puedes hacerlo desde C, pero no sé cómo se hace.

Para los bytes de control, se envían igual con fprintf. Puedes hacer algo así como
fprintf (impresora, "%c%c", 0xaf, 0x3b); // El 0x para que sea hexadecimal.

Espero haber sido de ayuda.
Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:impresora en C

Publicado por Anselmo (8 intervenciones) el 22/08/2002 13:15:37
La impresora esta bien porque desde windows la pagina de prueba me la hace correctamente.
¿Tengo que utilizar direcciones de memoria para inicializar el com1 desde c?
Hay que tener en cuenta que el ejecutable corre en dos no en windows
¿Como se inicializa entonces la impresora?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:impresora en C

Publicado por chuidiang (677 intervenciones) el 22/08/2002 20:56:49
El comando desde ms-dos para configurar un puerto serie es

mode com1:96,n,8,1,p

com1 es el puerto
96 es velocidad de 9600 (hay muchos valores posibles)
n es paridad (hay muchos valores, n es ninguna)
8 es numero de bits (5,6, 7 u 8 bits)
1 es el numero de bits de stop
p indica como tratar errores. hay varios valores, p es reintentar en caso de error.

Debes configurarlo para que esté igual que lo esté tu impresora. Si tu compilador admite alguna función para ejecutar comandos del sistema operativo (como system() en el C++ de unix), puedes configurarlo desde C.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar