簡體   English   中英

信號readyRead()不執行插槽

[英]Signal readyRead() does not execute slot

我的設備比較大(通過COM端口連接了兩台計算機),並且必須通過QSerialPort使它工作。 這個想法很簡單:數據將通過每個COM端口從一個comp發送到另一個comp。 發射器工作正常,這已通過輔助軟件檢查,我在接收數據時遇到問題。 我正在通過QSerialPort進行如下操作:

首先,我設置端口:

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()) );

在插槽change_gear中,我只剩下以下內容:qDebug()<<“已接收到數據”,

但是此插槽從未執行過! 因此,我只是不明白這里出了什么問題以及為什么我無法以這種簡單的方式從COM端口讀取數據。

操作系統-Windows 8,Qt 5.8.0 MinGW 32

這樣嘗試

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);

配置端口並將其信號連接到插槽后打開

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM