【问题标题】:DLE EOT n command makes the printer not to return anythingDLE EOT n 命令使打印机不返回任何内容
【发布时间】:2014-04-03 20:01:21
【问题描述】:

我正在开发一个使用 ESC/POS 命令与热敏打印机通信的应用程序。

根据文档,当发送 DLE EOT n 命令时,打印机应该响应状态,但它什么也没发送,当然,应用程序在等待回复时卡住了。

这是 C# 中的基本代码:

            try
            {
                int bytesSent = _socket.Send(new byte[] { EscPos.DLE, EscPos.EOT, 2 });    // Transmit Printer Status

                byte[] bytes = new byte[1024];
                int bytesReceived = _socket.Receive(bytes);

                if (bytesSent == 3 && bytesReceived > 0)
                    return !IsBitSet(bytes[0], 6);
            }
            catch (Exception ex)
            {
                OnError(ex);
            }

任何帮助将不胜感激,谢谢

詹姆

【问题讨论】:

  • 您知道打印机接收数据吗?它是挂在Send() 之后还是Receive() 之后?套接字设置是否正确(您实际上与打印机有连接)?
  • 是的...我只展示了一小段代码....打印机用 ESC @ 命令初始化,它打印,它设置绝对位置......等等......它作用于我发送的每个命令,但 DLE EOT n 命令。它挂在 Receive() 中。引起我注意的是,命令发出后,打印机换行进纸。

标签: c# printing


【解决方案1】:

Ehem.. 我发现了问题.... 我在这里发送评论后意识到它.... EscPos.DLE 常量定义错误。

还是谢谢 詹姆

【讨论】:

  • 你找到解决办法了吗?
猜你喜欢
  • 2015-03-25
  • 2018-08-17
  • 2021-06-10
  • 1970-01-01
  • 2020-12-30
  • 2013-08-27
  • 2021-03-12
  • 1970-01-01
  • 2021-12-13
相关资源
最近更新 更多