Qt Debian上QSerialPort的不一致行为
我想使用QSerialPort 5.5通过Qt Debian上QSerialPort的不一致行为,qt,serial-port,qt5,epson,Qt,Serial Port,Qt5,Epson,我想使用QSerialPort 5.5通过EscPos与爱普生TM-H6000iii进行通信。 它取消了对序列号的打印。关闭。当我调试时,它无法理解原因。花了几天时间后,我发现了这个案例: 重新启动计算机 运行应用程序。(打印机取消打印) 调试应用程序并将断点放在serial.close()上;(打印机按预期运行) 现在再次运行应用程序。(打印机将永远不再停止串行打印。关闭) 总而言之:如果我调试serial.close行一次,那么一点问题都没有 有什么想法吗?我想这可能是由于串口设置超时造成的
EscPos
与爱普生TM-H6000iii进行通信。
它取消了对序列号的打印。关闭。当我调试时,它无法理解原因。花了几天时间后,我发现了这个案例:
重新启动计算机
运行应用程序。(打印机取消打印)
调试应用程序并将断点放在serial.close()上;(打印机按预期运行)
现在再次运行应用程序。(打印机将永远不再停止串行打印。关闭)
总而言之:如果我调试serial.close
行一次,那么一点问题都没有
有什么想法吗?我想这可能是由于串口设置超时造成的。Qt不支持超时设置,因此解决方案可能依赖于平台…您必须提供更多信息。我不理解“我调试串行。关闭”。描述QSerialPort
发送和接收的内容。通常,如果您将不完整的帧发送到打印机,它可能处于重新启动应用程序无法解决问题的状态,因为无效状态保存在打印机端。串行端口没有重新启动连接功能。Hi。我在代码中发送ascii字符。我为每个命令使用serial.write,然后使用serail.waitforbytes。一切都很顺利。然后我的工作完成了。此时,出现serial.close。若我在qtcreator中将断点放在这一行,那个么就并没有问题了。然后我让调试器继续。但在相同的情况下,重新启动后,如果我没有将断点设置为串行。关闭打印机将取消打印。如果你需要更多的信息,我准备好了。谢谢。为了澄清重新启动后的问题,我是说重新启动pcI,我想这可能是由于串行端口的超时设置造成的。Qt不支持超时设置,因此解决方案可能依赖于平台…您必须提供更多信息。我不理解“我调试串行。关闭”。描述QSerialPort
发送和接收的内容。通常,如果您将不完整的帧发送到打印机,它可能处于重新启动应用程序无法解决问题的状态,因为无效状态保存在打印机端。串行端口没有重新启动连接功能。Hi。我在代码中发送ascii字符。我为每个命令使用serial.write,然后使用serail.waitforbytes。一切都很顺利。然后我的工作完成了。此时,出现serial.close。若我在qtcreator中将断点放在这一行,那个么就并没有问题了。然后我让调试器继续。但在相同的情况下,重新启动后,如果我没有将断点设置为串行。关闭打印机将取消打印。如果你需要更多的信息,我准备好了。谢谢。为了澄清重启后我指的是重启电脑