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

本文关键字:写入 Zebra QL220 Ports IO 何使用 OpenNETCF | 更新日期: 2023-09-27 17:58:14

下面的"串行端口"来自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();
}

你可能会说,"为什么不试试看?"但至少目前,这是一个漫长的过程,因为我无法在部署"设备"或Emulator上的XP模式虚拟机中运行我的应用程序(请参阅我如何在Visual Studio(2003)中运行Windows CE项目?)?如果感兴趣);我需要做的是将二进制文件复制到手持设备上,以测试任何修改后的代码;所以,在经历那首歌之前,我宁愿有点确定它会以某种方式发挥作用。

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

是的,这大致是你想要做的。你需要检查打印机文档,了解需要什么通信设置。它通常是19200,N,8,1。对于某些打印机,您需要调整发送数据的速度。发送数据的速度可能快到超过打印机上的串行数据缓冲区。例如,我记得,每发送512个字节就必须添加一个小延迟,否则打印流的尾部就会丢失。但不确定打印机的型号,所以这只是一个需要注意的问题。