Qt - 如何从线程中的串行端口读取数据

时间:2014-09-23 06:38:28

标签: c++ multithreading qt serial-port qthread

我是Qt的新手,在使用Qserialport方面遇到了一些麻烦。 我需要接收和管理来自自动驾驶仪的数据包,并将它们显示在一种指南针上。 但我不知道如何在一个线程中接收数据并在我的主程序中使用它们。 我知道如何使用Qserialport,之前我确实使用过线程。但现在我不知道如何正确使用它们。 我真的需要一些示例代码。 任何答案都可以帮助。对不起,如果我的英语不太好。

1 个答案:

答案 0 :(得分:1)

您可以以异步方式读取数据。只需将readyRead()的{​​{1}}信号连接到一个插槽即可。只要有新数据,就会发出QSerialPort

readyRead()

connect(&serial, SIGNAL(readyRead()), this, SLOT(readData())); 是每次readData()发出QSerialPort信号时调用的广告位。 readyRead()将任何可用数据附加到readData()类成员:

QByteArray