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".

¿Fue útil?

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:

http://support.microsoft.com/kb/138594/EN- /

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top