繁体   English   中英

如何使用OpenNETCF.IO.Ports写入Zebra QL220?

[英]How can I write to a Zebra QL220 using OpenNETCF.IO.Ports?

下面的“ SerialPort”来自OpenNETCF.IO.Ports。

对于通过皮带打印机(Zebra QL220)进行打印,第一次通过/半专门的猜测是否有意义? 也就是说,这是一个体面的起点吗?

using (SerialPort serialPort = new SerialPort()) 
{
    string someString = "Bla";
    //serialPort.BaudRate = // I don't know what to put here yet, assuming this is needed
    //serialPort.DataBits = // " "
    //serialPort.Parity = // " "
    //serialPort.StopBits = // " "
    serialPort.PortName = "COM1"; // Is this what it wants?

    serialPort.Open();

    Thread.Sleep(2500); // I don't know why this is needed, or is it?

    serialPort.Write(" ! U1 setvar \"device.languages\" \"line_print\"\r\n");
    serialPort.Write(" ! U SETLP 5 1 46\r\nPAGE-WIDTH 480\r\nSETBOLD 2\r\nPRINT\r\n");          
    serialPort.Write(" ! U1 CENTER\r\n"+someString"\r\n! U1 SETBOLD 0\r\n");
    serialPort.Write(" ! U1 CENTER\r\n");
    serialPort.Write(" ! U1 SETLP 0 2 24");

    serialPort.Close();
}

您可能会说:“为什么不试试看呢?” 但是目前至少要花很长时间,因为我无法在部署“设备”或仿真器上的XP Mode VM中运行我的应用程序(请参阅如何在Visual Studio中运行Windows CE项目) Studio(2003)? 我需要做的是将二进制文件复制到手持设备以测试任何修改后的代码; 因此,我宁愿在通过rigamarole之前确定它会以某种方式工作。

是的,这大致就是您想要做的。 您需要检查打印机docos上需要哪些通讯设置。 通常为19200,N,8,1。 对于某些打印机,您需要调整发送数据的速度。 发送数据的速度可能很快,以至于超出了打印机上的串行数据缓冲区。 我记得,例如,每发送512个字节必须增加一个小的延迟,否则打印流的尾端将丢失。 虽然不确定打印机的型号,所以请留意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM