Я пытаюсь установить последовательное соединение с платой Arduino Diecimila с помощью QextSerialPort. Мое приложение зависает, хотя каждый раз, когда я вызываю port-> open (). Я думаю, что это происходит потому, что плата Arduino перезагружается каждый раз, когда к ней устанавливается последовательное соединение. Существует способ не выполнить сброс платы, описанный здесь , но я не могу понять, как заставить QextSerialPort сделать это. Я могу установить для DTR значение false только после того, как порт был открыт, что не сильно помогает, поскольку к этому времени плата уже перезапустилась.
Код для подключения выглядит так:
port = new QextSerialPort("/dev/tty.usbserial-A4001uwj");
port->open(QIODevice::ReadWrite);
port->setBaudRate(BAUD9600);
port->setFlowControl(FLOW_OFF);
port->setParity(PAR_NONE);
port->setDataBits(DATA_8);
port->setStopBits(STOP_1);
port->setDtr(false);
port->setRts(false);
Любые идеи о том, как это сделать. Мне не обязательно использовать QextSerialPort, если кто-то знает о другой библиотеке, которая добивается цели.
Я новичок в C ++ и Qt.
UPDATE:
Я заметил, что если я запускаю скрипт python, который подключается к тому же порту (используя pySerial) перед запуском вышеуказанного кода, все работает просто отлично.