2017-09-12 9 views
0

예제를 검색하여 qt에서 여러 직렬 포트를 엽니 다. 이 독점적으로 너무 다른 인스턴스가이 포트에 액세스 할 수 없습니다 않습니다 열 경우 지금까지 다른 클래스QT C++ 직렬 포트를 두 번 이상 엽니 다.

에서 앞으로

내 열린 포트 기능 설정

void MainWindow::openSerialPort(){ 
    SettingsDialog::Settings p = settings->settings(); 
    serial->setPortName(p.name); 
    serial->setBaudRate(QSerialPort::Baud9600); 
    serial->setDataBits(QSerialPort::Data8); 
    serial->setParity(QSerialPort::NoParity); 
    serial->setStopBits(QSerialPort::OneStop); 
    serial->setFlowControl(QSerialPort::NoFlowControl); 

if (serial->open(QIODevice::ReadWrite)) { 
    ui->connectAction->setEnabled(false); 
    ui->disconnectAction->setEnabled(true); 
    ui->settingsAction->setEnabled(false); 
    showStatusMessage(tr("Connected to %1 : OK") 
         .arg(p.name)); 
} else { //gdy sie nie udalo error 
    QMessageBox::critical(this, tr("Error"), serial->errorString()); 

    showStatusMessage(tr("Open error")); 
} 
} 

답변

0

나는 QSerialPort의 단일 인스턴스를 기억한다. 나는 다른 QSP를 만들고 다른 항구를 여는 것이 그 일을 할 것이라고 생각한다.