C# DLE EOT n命令使打印机不返回任何内容
我正在开发一个应用程序,通过使用ESC/POS命令与热敏打印机通信 根据文档,当发送DLE EOT n命令时,打印机应该以状态响应,但它什么也不发送,当然,应用程序会在等待响应时卡住 这是C#中的基本代码: 任何帮助都将不胜感激,谢谢C# DLE EOT n命令使打印机不返回任何内容,c#,printing,C#,Printing,我正在开发一个应用程序,通过使用ESC/POS命令与热敏打印机通信 根据文档,当发送DLE EOT n命令时,打印机应该以状态响应,但它什么也不发送,当然,应用程序会在等待响应时卡住 这是C#中的基本代码: 任何帮助都将不胜感激,谢谢 詹姆。。我发现了问题。。。。在我发到这里的评论之后,我意识到了这一点。。。。EscPos.DLE常量定义错误 无论如何谢谢你 Jaime你知道打印机接收数据吗?它是在Send()之后挂起还是在Receive()中挂起?插座设置是否正确(您是否确实与打印机连接)?是
詹姆。。我发现了问题。。。。在我发到这里的评论之后,我意识到了这一点。。。。EscPos.DLE常量定义错误 无论如何谢谢你
Jaime你知道打印机接收数据吗?它是在
Send()
之后挂起还是在Receive()
中挂起?插座设置是否正确(您是否确实与打印机连接)?是。。。我只展示了代码的一小部分。。。。打印机用ESC@命令初始化,它打印,它设置绝对位置。。。等它对我发出的每一个命令都起作用,除了DLE EOT n命令。它挂在Receive()中。我注意到的一个事实是,在发送命令后,打印机行将进纸。您找到解决方案了吗?
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);
}