我想配置一個使用Qt的串行鍋通信,這是我在Qt的第一個應用程序,並根據多線程我寫這段代碼5.1串行通信:Qt的使用QSerialPort
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSerialPort>
QSerialPort serial;
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
serial.open(QSerialPort::ReadWrite);
serial.setPortName("ttyACM0");
serial.setBaudRate(QSerialPort::Baud9600);
serial.setDataBits(QSerialPort::Data8);
serial.setParity(QSerialPort::NoParity);
serial.setStopBits(QSerialPort::OneStop);
serial.setFlowControl(QSerialPort::NoFlowControl);
serial.write("hello");
}
MainWindow::~MainWindow()
{
delete ui;
serial.close();
}
與編譯器告訴我,當我建立項目時,設備未打開。
什麼是確切的錯誤信息,你什麼時候看到它?截圖可能會有所幫助,因爲我非常懷疑_compiler_知道關於設備的任何內容以及它們是否處於打開狀態。 – 2015-01-27 00:58:45
用'QSerialPortInfo :: availablePorts()'檢查可用的串行端口。你也可能需要sudo權限才能訪問串口設備。 – Nejat 2015-01-27 05:47:43