windows下第一次打开QextSerialPort串口无法读写问题?
本人写了个程序,运行与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();
}
}
}