我有C#CE CF代码在手持设备(Motorola MC3100)上运行,它应该使它所连接的Zebra QL220皮带打印机打印一些东西(代码附在本文后面)。为什么Zebra QL 220打印机在我与之交谈的过程中会关闭?
当我启动我的应用程序时,打开QL 220(通过底部或顶部的绿色大按钮,具体取决于您的视角),但打印机在我的代码执行过程中自行关闭,打印出来(我假设这就是没有打印的原因)。
如果我对打印机静音的原因是正确的,我必须做些什么来使其“On”按钮变得“粘性”?
我尝试了QL 220上的蓝色按钮(也是一个滚轮和一张纸从中弹出)的蓝色按钮,但所有这些都是“实时”吐出一些磁带/打印纸。 “
. . .
using (SerialPort serialPort = new SerialPort())
{
serialPort.BaudRate = 19200;
serialPort.Handshake = Handshake.XOnXOff; // Handshake AKA Flowcontrol?
serialPort.DataBits = 8;
serialPort.Parity = Parity.None;
serialPort.StopBits = StopBits.One;
serialPort.PortName = "COM1:";
serialPort.ReadTimeout = 500;
serialPort.WriteTimeout = 500;
serialPort.StopBits = StopBits.One;
serialPort.Open();
Thread.Sleep(2500); // I don't know why this is needed, or if it really is...
// Try this first:
serialPort.WriteLine("! 0 200 200 210 1");
serialPort.WriteLine("TEXT 4 0 30 40 Bonjour la Monde"); //Hola el Mundo --- Hallo die Welt
serialPort.WriteLine("FORM");
serialPort.WriteLine("PRINT");
// or (if WriteLine does not include a carriage return and line feed):
// serialPort.Write("! 0 200 200 210 1\r\n");
// serialPort.Write("TEXT 4 0 30 40 Bonjour la Monde\r\n"); //Hola el Mundo --- Hallo die Welt
// serialPort.Write("FORM\r\n");
// serialPort.Write("PRINT\r\n");
serialPort.Close();
}
你怎么知道你甚至连接到它?如果他们没有被使用,他们通常只会变成ff。注意,你确定XonXoff的设置? – tcarvin
手持设备物理连接到打印机。至于XonXoff设置 - 不,我不确定 - 我还应该尝试什么? –
打印机产生约本身的元数据报告显示“握手:硬件” 我不知道这是什么对应于以握手枚举(XONXOFF,无, RequestToSend和RequestToSendXOnXOff)的可能值,但...但是,它现在正在工作,所以我想我已经设置为(XOnXOff)没关系... –