windows下第一次打开QextSerialPort串口无法读写问题?

jasonxzh jasonxzh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本人写了个程序,运行与windows。当刚开电脑时,运行程序并打开串口,串口打开成功,但是无法读写。如果先用串口调试助手打开串口后,再运行程序并打开串口,串口打开成功并可读写。究竟是什么回事呢?部分代码如下

void SystemSet::OpenCom()
{
char temp[16];
//打开串口
if(!(serialPort->isOpen()))
{
//设置串口名
serialPort->setPortName("COM1");
//设置mode
serialPort->setQueryMode(QextSerialPort::EventDriven);
//设置波特率
serialPort->setBaudRate(BAUD57600);
//设置控制
serialPort->setFlowControl(FLOW_OFF);
//设置校验位
serialPort->setParity(PAR_EVEN);
//设置数据位
serialPort->setDataBits(DATA_8);
//设置停止位
serialPort->setStopBits(STOP_1);
//设置读写性
serialPort->open(QIODevice::ReadWrite);
if(serialPort->isOpen())
{
serialPort->flush();
uiSystemSet.serialButton->setText("关闭串口");
connect(serialPort, SIGNAL(readyRead()), SLOT(serialRead()));
}

}
else
{
serialPort->close();
if(!(serialPort->isOpen()))
{
uiSystemSet.serialButton->setText("打开串口");
serialPort->disconnect();
}
}
}
...全文

相关推荐

QT串口编程库--qextserialport-1.2win-alpha.zip,适合于windows、linux下的QT串口编程

例如,通过`serial.open(QIODevice::ReadWrite)`来打开串口并设置为读写模式。2.

ssyj911

QextSerialPort在Qt串口通信中的应用教程

QextSerialPort是一个用于Qt框架的扩展库,它提供了简单而强大的接口来处理串口通信问题。库支持Windows、Linux等多种操作系统,为开发者提供了一种便捷的方式来实现与设备的串口通信。其应用场景十分广泛,包括但不限于工业控制、数据采集、嵌入式系统开发等。用户可以在程序中自定义事件处理逻辑,以适应特定的业务需求。例如,当接收到特定的数据包时,可能需要执行特定的处理逻辑:// 接收到数据事件处理break;// 其他事件处理// ...在上述代码中,

不卡不卡

跨平台QT串口通信库qextserialport实战指南

Qt作为一个跨平台的C++开发框架,广泛应用于工业控制、嵌入式系统及桌面软件开发中,其串口通信能力通过第三方扩展库qextserialport得以完善。该库最初由Trolltech社区开发者维护,后由qextserialport项目组持续更新,旨在为Qt提供稳定、高效的串口通信支持。qextserialport兼容Qt4与Qt5,并在Windows平台通过Win32 API实现串口操作,在Linux系统中则基于termios结构进行封装,确保了良好的跨平台一致性与可移植性。

clowntom

Qt编写串口通信程序详解

本文档详细介绍了如何使用Qt框架在Windows XP环境下通过第三方库qextserialport进行串口通信程序的编写。作者首先强调了编程环境的选择,并提到了在Windows下的具体操作步骤,包括

yafeilinux

qt串口通信教程及qextserialport库文件

**打开串口**:使用open函数尝试打开串口。如果失败,可以检查错误信息并采取相应措施。4. **读写数据**:使用write函数发送数据,read或readyRead信号处理接收到的数据。

天长地久007
评论 7
收藏 已收藏
分享
返回顶部
jasonxzh
Qt 21,503 成员 26,693 内容