qt 有串口操作的模块,你用的是 Qt 的还是第三方的?
如果是 Qt 的,你可以看一下 Qt 的文档。它使用 signal/slot 机制,异步单线程,基本原理就是针对每次操作,你都生成一个状态机:
struct WriteData: public QObject {
public:
void writeData();
private:
int state;
QByteArray data;
};
使用 signal/slot 连接 QSerialPort::byteWritten 到 writeData(),根据内部状态和数据决定要写入数据还是结束。这么干的话,你就可以在中途销毁这个 WriteData 对象,相当于结束你现在做的线程。
【 在 scanworld (臭蛋超人) 的大作中提到: 】
: 我在ui里通过按钮搜索机器串口并打开
: 打开后串口不进行操作
: 接着通过一个按钮创建子线程想在这个子线程里对串口进行读写
: ...................
--
FROM 110.81.15.*