"串口打开成功1COM1" fasong
时间: 2023-11-21 10:48:46 浏览: 60
根据您提供的输出信息,串口已成功打开并显示为"串口打开成功1COM1"。这表示串口设备已成功连接并打开。
但是,从您的代码中可以看到,在`sendDataLoop()`函数中,您使用了一个无限循环来发送数据。这可能导致主线程被阻塞,无法处理其他事件,包括接收数据的事件。
为了解决这个问题,您可以考虑将数据发送放入单独的线程中,以便不阻塞主线程。您已经创建了一个`workerThread`线程,可以将发送数据的代码移动到该线程中。修改代码如下:
```cpp
void Worker::sendDataLoop()
{
while (true) {
// 在这里编写发送数据的代码
qDebug() << "fasong" ;
// 等待一段时间
QThread::msleep(1000);
char down[8];
down[0]=0xfe;
down[1]=0x08;
down[2]=0;
down[3]=0x01;
//ui->textBrowser->append(CharToHex(down[4])+CharToHex(down[5])+CharToHex(down[6])+CharToHex(down[7]));
serialPort->write(down,8);
}
}
```
然后,在构造函数中将`Worker`对象移动到`workerThread`线程中:
```cpp
Worker::Worker(QObject *parent)
: QObject{parent}
{
// ... 其他代码
// 将Worker对象移动到workerThread线程中
moveToThread(workerThread);
// 连接线程的started()信号与sendDataLoop()方法
connect(workerThread, &QThread::started, this, &Worker::sendDataLoop);
// 启动workerThread线程
workerThread->start();
}
```
这样,`sendDataLoop()`函数将在`workerThread`线程中执行,不会阻塞主线程。同时,主线程仍然可以接收并处理串口接收到的数据。
希望这能解决您的问题!如果您还有其他疑问,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)