C++ QT串行设备

C++ QT串行设备,c++,qt,at-command,C++,Qt,At Command,我想通过UART与使用Qt creator的AT命令设备进行通信。我没有Qserial或sth,我需要使用QFile将串行连接作为文件打开。我能够发送数据和接收响应。但是,在接收命令时,在发送命令后查找响应的最佳方式是什么?若我试图查看文件的结尾,我的应用程序就会阻塞。 目前,我使用以下代码: while(file->IsReadeble() { file->readLine(buffer,1023); } 问题是,即使没有可用字节,

我想通过UART与使用Qt creator的AT命令设备进行通信。我没有Qserial或sth,我需要使用QFile将串行连接作为文件打开。我能够发送数据和接收响应。但是,在接收命令时,在发送命令后查找响应的最佳方式是什么?若我试图查看文件的结尾,我的应用程序就会阻塞。 目前,我使用以下代码:

     while(file->IsReadeble()
     {
         file->readLine(buffer,1023);
     }
问题是,即使没有可用字节,此代码也会等待


谢谢你

你必须使用一个特定的线程来阻止
读线
,当你接收到一些东西时,发出一个信号并通过插槽检索它来分析它并发出新的事件或修改一些UIT谢谢,我将尝试另一个选项是使用
文件->句柄()
,可能你可以使用
字节可用()
要在调用
readLine()
@JMA()之前检查是否有任何数据要读取显然
文件->字节可用()
始终是0您必须使用一个特定的线程,该线程阻塞
readLine
,当您接收到某个内容时,发出一个信号并通过一个插槽检索它,以分析它并发出新事件或修改某些UIT感谢您,我将尝试另一个选项是使用
file->handle()
,可能是在调用
readLine()
@JMA之前,您可以使用
bytesavable()
检查是否有任何数据要读取
readLine()
@JMA
file->bytesavable()
始终为0