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();
}
}
}
7 个解决方案
#1
饿。是不是因为没设置超时?
#2
监视一下都操作了什么
see link below:
下载地址:
http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol
感觉好别忘了给个review(评论),谢谢!
see link below:
下载地址:
http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol
感觉好别忘了给个review(评论),谢谢!
#3
我也碰到同样的问题,我用的是QextSerialPort-1.2 win7 环境下,求解?
#4
我也遇到过,先设置好串口信息,再打开串口。
#5
我也是一样的问题,请教一下楼主,后来你有没有解决了啊?
#6
去QextSerialPort仓库中下载最新的源码即可,或者你等 QextSerialPort-1.2RC 源码包
#7
我也遇到过,在serialPort->open(QIODevice::ReadWrite);之后在设置端口就好了。
void SystemSet::OpenCom()
{
char temp[16];
//打开串口
if(!(serialPort->isOpen()))
{
//设置串口名
serialPort->setPortName("COM1");
//设置读写性
serialPort->open(QIODevice::ReadWrite);
//设置mode
serialPort->setQueryMode(QextSerialPort::EventDriven);
//设置波特率
serialPort->setBaudRate(BAUD57600);
//设置控制
serialPort->setFlowControl(FLOW_OFF);
//设置校验位
serialPort->setParity(PAR_EVEN);
//设置数据位
serialPort->setDataBits(DATA_8);
//设置停止位
serialPort->setStopBits(STOP_1);
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();
}
}
}
void SystemSet::OpenCom()
{
char temp[16];
//打开串口
if(!(serialPort->isOpen()))
{
//设置串口名
serialPort->setPortName("COM1");
//设置读写性
serialPort->open(QIODevice::ReadWrite);
//设置mode
serialPort->setQueryMode(QextSerialPort::EventDriven);
//设置波特率
serialPort->setBaudRate(BAUD57600);
//设置控制
serialPort->setFlowControl(FLOW_OFF);
//设置校验位
serialPort->setParity(PAR_EVEN);
//设置数据位
serialPort->setDataBits(DATA_8);
//设置停止位
serialPort->setStopBits(STOP_1);
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();
}
}
}
#1
饿。是不是因为没设置超时?
#2
监视一下都操作了什么
see link below:
下载地址:
http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol
感觉好别忘了给个review(评论),谢谢!
see link below:
下载地址:
http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol
感觉好别忘了给个review(评论),谢谢!
#3
我也碰到同样的问题,我用的是QextSerialPort-1.2 win7 环境下,求解?
#4
我也遇到过,先设置好串口信息,再打开串口。
#5
我也是一样的问题,请教一下楼主,后来你有没有解决了啊?
#6
去QextSerialPort仓库中下载最新的源码即可,或者你等 QextSerialPort-1.2RC 源码包
#7
我也遇到过,在serialPort->open(QIODevice::ReadWrite);之后在设置端口就好了。
void SystemSet::OpenCom()
{
char temp[16];
//打开串口
if(!(serialPort->isOpen()))
{
//设置串口名
serialPort->setPortName("COM1");
//设置读写性
serialPort->open(QIODevice::ReadWrite);
//设置mode
serialPort->setQueryMode(QextSerialPort::EventDriven);
//设置波特率
serialPort->setBaudRate(BAUD57600);
//设置控制
serialPort->setFlowControl(FLOW_OFF);
//设置校验位
serialPort->setParity(PAR_EVEN);
//设置数据位
serialPort->setDataBits(DATA_8);
//设置停止位
serialPort->setStopBits(STOP_1);
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();
}
}
}
void SystemSet::OpenCom()
{
char temp[16];
//打开串口
if(!(serialPort->isOpen()))
{
//设置串口名
serialPort->setPortName("COM1");
//设置读写性
serialPort->open(QIODevice::ReadWrite);
//设置mode
serialPort->setQueryMode(QextSerialPort::EventDriven);
//设置波特率
serialPort->setBaudRate(BAUD57600);
//设置控制
serialPort->setFlowControl(FLOW_OFF);
//设置校验位
serialPort->setParity(PAR_EVEN);
//设置数据位
serialPort->setDataBits(DATA_8);
//设置停止位
serialPort->setStopBits(STOP_1);
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();
}
}
}