我有一个相对粗略的设备(两台计算机通过COM端口连接),我必须通过QSerialPort
让它工作。这个想法很简单:数据将从每个COM端口从一个comp发送到另一个comp。
发送器工作正常,由侧面软件检查,我有接收数据的问题。我按QSerialPort *serialport = new QSerialPort();
serialport->open(QIODevice::ReadOnly);
serialport->setPortName("COM1");
serialport->setBaudRate(QSerialPort::Baud19200);
serialport->setDataBits(QSerialPort::Data8);
serialport->setParity(QSerialPort::NoParity);
执行如下操作:
首先我设置端口:
connect(serialport,SIGNAL(readyRead()),this, SLOT(change_gear()) );
然后我准备抓住这样的数据:
$user->setRelations([]);
并且在插槽change_gear中我还有以下内容: qDebug()<<“已收到数据”,
但这个插槽还没有被执行过! 所以,我只是无法理解这里出了什么问题以及为什么我无法从COM端口读取数据这么简单的方法..
操作系统 - Windows 8, Qt 5.8.0 MinGW 32
答案 0 :(得分:1)
试试这个
QSerialPort *serialport = new QSerialPort();
serialport->setPortName("COM1");
serialport->setBaudRate(QSerialPort::Baud19200);
serialport->setDataBits(QSerialPort::Data8);
serialport->setParity(QSerialPort::NoParity);
connect(serialport,SIGNAL(readyRead()),this, SLOT(change_gear()) );
serialport->open(QIODevice::ReadOnly);
配置端口后打开,信号连接到插槽