Я пытаюсь открыть SerialPort с QT5.5, но порт всегда не может быть открыт. Я не знаком с портами и сериалом, но я не могу найти никаких проблем с тем, как я начал все. Я использую Mac OSXQT5 Проблемы с открытием SerialPort
void MainWindow::init_port()
{
port = new QSerialPort("com4"); //create port
port->open(QIODevice::ReadWrite); //open port
if(!port->isOpen())
{
QMessageBox::warning(this, "port error", "Can't open port!");
}
// if(serial.open(QIODevice::ReadWrite))
// serial.write("ok*");
else
{
//error
qDebug() << port->errorString();
}
//set port properties
port->setBaudRate(QSerialPort::Baud9600); //9600 FOR ARDUINO
port->setFlowControl(QSerialPort::NoFlowControl);
port->setParity(QSerialPort::NoParity);
port->setDataBits(QSerialPort::Data8);
port->setStopBits(QSerialPort::OneStop);
}
Моя общая цель состоит в том, чтобы осуществлять связь с микроконтроллером Arduino с графическим интерфейсом.
В OS X нет такой вещи, как 'com4'. Сначала вы должны указать доступные порты. В Unices порты - это просто имена файлов внутри '/ dev', поэтому у вас может быть, например, 'ttyS3' означает'/dev/ttyS3', но этот узел устройства должен существовать. Самое простое: отключить устройство, 'ls/dev | sort> f1', подключить ваше устройство,' ls/dev | sort> f2; diff -u f1 f2', и ваш узел устройства будет показан в разнице. Убедитесь, что ваш код позволяет пользователю выбрать узел порта/устройства! –