我正在设计一个实时应用程序Qt.卡在QExtserialport硬件部分通过UART通信实现信号的感知和发送。我设计了显示GUI界面的应用程序。下面的代码不能在qt中打开端口,但它可以在Minicom上打开端口,cutecom显示值。
HeadeFile.h
INCLUDEPATH += .
include(..project/qextserialport-1.2rc/src/qextserialport.pri)
CONFIG += extserialport
Mainwindow.cpp
Qextserialport *rs232_;
Mainwindow.cpp
rs232_ = new QextSerialPort("/dev/ttyS0");
rs232_->open( QIODevice::ReadWrite );
if (!rs232_->isOpen()) {
qDebug()<<"....Port ttyS0 CanNot Open...."<<endl
}
rs232_->setBaudRate(BAUD4800);
rs232_->setFlowControl(FLOW_OFF);
rs232_->setParity(PAR_ODD);
rs232_->setDataBits(DATA_8);
rs232_->setStopBits(STOP_1);
QTimer *s2_timer = new QTimer(this);
s2_timer->setInterval(17);
s2_timer->start();
connect(rs232_, SIGNAL(readyRead()), this, SLOT(onDataAvailable()));
总是显示"Port ttyS0 CanNot Open"
更新Qt到5.6,由QtSerialPort解决。http://doc.qt.io/qt-5/qtserialport-index.html