La apertura del puerto serie utilizado por una impresora
-
21-08-2019 - |
Pregunta
Estoy enviando los códigos ESC / P ( http: //webpages.charter. net / dperr / enlaces / esc_p83.htm ) a una impresora Epson LX-300, que está conectado al COM1 y el PC ya ha instalado el controlador correcto porque alguien más lo necesita.
Así que escribí esto:
using System.IO.Ports;
public class EpsonPrint {
private char esc = (char)27;
private char ff = (char)12;
public static void Main (string[] args) {
new EpsonPrint();
}
public EpsonPrint() {
SerialPort port = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
port.Open();
port.Write(esc+"@hola mundo!"+ff);
port.Close();
}
}
y funciona, pero sólo con el conductor Epson apunta a otro puerto o alguna otra cosa, porque si lo dejo utilizando COM1 lanza el código anterior:
"El nombre de puerto dado no se inicia con el COM / com o no se resuelve a un puerto de serie válido."
y para que conste, esto no es un error de "puerto ya está abierto".
Solución
COM1 espera por el controlador de impresora. Este prevenir la apertura del puerto por su aplicación. Trate de puerto de impresora cambio en las propiedades del controlador de impresora para algo que no sea COM1. Después de esto Su aplicación será libre de utilizar COM1.
Otros consejos
Creo que se necesita para enviar al conductor y no al puerto. Echa un vistazo a este artículo: