簡體   English   中英

連接到QT中的串行端口

[英]Connecting to Serial port in QT

我想使用QSerialPort連接到微控制器。 我已經將線路串行端口添加到我的.pro文件中,在我的源文件中包含QSerialPort並運行了qmake 我的代碼如下:

    serial.setPortName("COM3");
    serial.setBaudRate(QSerialPort::Baud9600);
    serial.setDataBits(QSerialPort::Data8);
    serial.setParity(QSerialPort::NoParity);
    serial.setStopBits(QSerialPort::OneStop);
    serial.setFlowControl(QSerialPort::NoFlowControl);
    serial.open(QIODevice::ReadWrite);
    serial.write("ok*");

當我運行代碼時,我收到一條消息,指出該設備未打開,盡管我已確認它已使用TeraTerm打開。 我想念什么? 錯誤消息如下:

QIODevice::write: device not open

首先,您應該檢查open是否返回true 如果否,則告訴用戶錯誤並調用errorString()

if(serial.open(QIODevice::ReadWrite))
    serial.write("ok*");
else
{
    //error
    qDebug() << serial.errorString();
}

您嘗試在不同的程序中打開一個端口。 Windows禁止使用。 所以你不能使用它。 在您的視頻的作者打開com3Qt ,但com4teraterm ,它是不同的端口,因此你應該使用同樣的事情,而不是一個端口幾個節目。

注意此程序: com0com

暫無
暫無

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

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