C++ QT串行设备
我想通过UART与使用Qt creator的AT命令设备进行通信。我没有Qserial或sth,我需要使用QFile将串行连接作为文件打开。我能够发送数据和接收响应。但是,在接收命令时,在发送命令后查找响应的最佳方式是什么?若我试图查看文件的结尾,我的应用程序就会阻塞。 目前,我使用以下代码:C++ QT串行设备,c++,qt,at-command,C++,Qt,At Command,我想通过UART与使用Qt creator的AT命令设备进行通信。我没有Qserial或sth,我需要使用QFile将串行连接作为文件打开。我能够发送数据和接收响应。但是,在接收命令时,在发送命令后查找响应的最佳方式是什么?若我试图查看文件的结尾,我的应用程序就会阻塞。 目前,我使用以下代码: while(file->IsReadeble() { file->readLine(buffer,1023); } 问题是,即使没有可用字节,
while(file->IsReadeble()
{
file->readLine(buffer,1023);
}
问题是,即使没有可用字节,此代码也会等待
谢谢你你必须使用一个特定的线程来阻止
读线
,当你接收到一些东西时,发出一个信号并通过插槽检索它来分析它并发出新的事件或修改一些UIT谢谢,我将尝试另一个选项是使用文件->句柄()
,可能你可以使用字节可用()
要在调用readLine()
@JMA()之前检查是否有任何数据要读取显然文件->字节可用()
始终是0您必须使用一个特定的线程,该线程阻塞readLine
,当您接收到某个内容时,发出一个信号并通过一个插槽检索它,以分析它并发出新事件或修改某些UIT感谢您,我将尝试另一个选项是使用file->handle()
,可能是在调用readLine()
@JMA之前,您可以使用bytesavable()
检查是否有任何数据要读取readLine()
@JMAfile->bytesavable()
始终为0