Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Debian上QSerialPort的不一致行为_Qt_Serial Port_Qt5_Epson - Fatal编程技术网

Qt Debian上QSerialPort的不一致行为

Qt Debian上QSerialPort的不一致行为,qt,serial-port,qt5,epson,Qt,Serial Port,Qt5,Epson,我想使用QSerialPort 5.5通过EscPos与爱普生TM-H6000iii进行通信。 它取消了对序列号的打印。关闭。当我调试时,它无法理解原因。花了几天时间后,我发现了这个案例: 重新启动计算机 运行应用程序。(打印机取消打印) 调试应用程序并将断点放在serial.close()上;(打印机按预期运行) 现在再次运行应用程序。(打印机将永远不再停止串行打印。关闭) 总而言之:如果我调试serial.close行一次,那么一点问题都没有 有什么想法吗?我想这可能是由于串口设置超时造成的

我想使用QSerialPort 5.5通过
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中将断点放在这一行,那个么就并没有问题了。然后我让调试器继续。但在相同的情况下,重新启动后,如果我没有将断点设置为串行。关闭打印机将取消打印。如果你需要更多的信息,我准备好了。谢谢。为了澄清重启后我指的是重启电脑