串口操作的奇怪问题
做串口发送和打印的时候,我之前用了CommAssistant,后来又用了Qt5的QSerialPort,但是都有一个奇怪的问题,就是在第一次操作串口的时候或者电脑重启之后,总是没反应,串口也提示打开了,但是发送数据的时候没反应,必须得先用串口调试助手之类的软件先打开然后再关闭对应的串口一次,这时候自己程序就工作正常了,这是咋回事?有没有人遇到过?如果是我程序的问题那为什么得先用助手打开关闭一次才能正常使用?
串口
QSerialPort
qt5
CommAssistant
--------------------编程问答--------------------
我也是一样的问题,正在找原因和解决办法呢,你要是找到了请也告诉我一声
--------------------编程问答--------------------
是不是串口的设置不对呀。
--------------------编程问答--------------------
以前也遇到过。在调用open函数的时候阻塞了。不知到什么原因。后来设置非阻塞。可以打开。在设置为阻塞。就可以了。
--------------------编程问答--------------------
可能跟硬件、驱动有关系。
--------------------编程问答--------------------
是串口参数的问题,FlowControl参数使用默认值:QSerialPort::UnknownFlowControl 或者重置为serialPort->setFlowControl(QSerialPort::UnknownFlowControl);测试可以正常工作。
补充:移动开发 , Qt