簡體   English   中英

為什么在我講話的過程中Zebra QL 220打印機會關閉?

[英]Why does the Zebra QL 220 printer shut off in the middle of my talking to it?

我有在手持設備(Motorola MC3100)上運行的C#CE CF代碼,該代碼應導致與其連接的Zebra QL220帶式打印機進行打印(代碼附加在此文章中)。

啟動應用程序時,我打開QL 220(通過底部或頂部的綠色大按鈕,具體取決於您的角度),但打印機在執行代碼的過程中自行關閉,因此未打印任何內容(我我假設這是什么也沒打印出來的原因)。

如果我對打印機無聲的原因是正確的,我該怎么辦才能使其“開”按鈕變為“粘滯”狀態?

我也嘗試搗碎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();
            }

除了在另一個SO帖子中必須將冒號附加到“ COM1”(如ctacke所示)外,我還需要交換Write行的WriteLine行,並在每行后面附加“ \\ r \\ n”,這樣它們現在是:

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");

盡管浪費了太多的紙張,但成功地打印了“ Bonjour la Monde”(打印出上下一行約一英里)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM