Hiện tại, em đang làm qt kết nối COM port. Sau khi kết nối đọc data từ cổng COM. Dùng COM2 truyền data và COM1 đọc data. PP tiến hành dùng
- Chương trình giả lập virtual serial port driver COM1 và COM2 liên kết với nhau.
- Chương trình Proteus kết nối dùng để truyền data.
- code qt:
//initialize port
serialport = new QSerialPort();
// setting port
serialport->setPortName("COM1");
serialport->setBaudRate(QSerialPort::Baud9600);
serialport->setDataBits(QSerialPort::Data8);
serialport->setParity(QSerialPort::NoParity);
serialport->setStopBits(QSerialPort::OneStop);
serialport->setFlowControl(QSerialPort::NoFlowControl);
QString s = "connect";
if (serialport->open(QIODevice::ReadWrite))
{
qDebug() << s;
}
else
{
s = "Error";
qDebug() << s;
}
connect(serialport, SIGNAL(readyRead()), this, SLOT(portRead()));
sự kiện portRead():
void MainWindow::portRead()
{
QString s = "Received";
qDebug() << s;
}
Cấu hình com trên proteus như hình.
signal/slot của Qt không thực hiện. Mọi người giúp đỡ!