QtSerialport. Проблема с приемом данных. |
Здравствуйте, гость ( Вход | Регистрация )
QtSerialport. Проблема с приемом данных. |
Voronar |
31.3.2013, 16:12
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 13.2.2013 Пользователь №: 3709 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте. Взял в помощь эту библиотеку, чтобы общаться с Arduino.
Моя проблема заключается в следующем: Написал прогу по приему данных с Arduino, но прием и отображение данных происходит не сразу. Сначала приходится через Arduino IDE помониторить порт(послать какой-то сигнал готовности), а после этого уже приходят желанные данные по сигналу readyRead() в соответствующий слот моей программы. Я так понимаю, что в моей программе не хватает какого-то метода, который говорит порту: "Я готов принимать от тебя данные, давай!". Не подскажите как называется этот метод? Спасибо за внимание. |
|
|
ud4fd |
27.4.2013, 0:00
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 26.4.2013 Пользователь №: 3808 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте kuzulis,
Подскажите ка в библиотеке QtSerialPort использовать сигнал PinoutSignals для контроля за состоянием линий CTS, RI, DCD ... желательно с реальным примером. |
|
|
ud4fd |
27.4.2013, 12:00
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 26.4.2013 Пользователь №: 3808 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте kuzulis,
при попытке использовать сигналы от состояния линий порта
в дебаг получаю следующее Цитата Object::connect: No such signal QSerialPort::DataSetReadySignal() Object::connect: (receiver name: 'MainWindow') Тестировал под Linux в QT4.8 и QT5 Как правильно работать с сигналами от линий порта? |
|
|
kuzulis |
28.4.2013, 13:35
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
А гдеты нашел эти сигналы? Таких сигналов нету, есть только эти:
Цитата Q_SIGNALS: void baudRateChanged(qint32 baudRate, QSerialPort::Directions dir); void dataBitsChanged(QSerialPort::DataBits dataBits); void parityChanged(QSerialPort::Parity parity); void stopBitsChanged(QSerialPort::StopBits stopBits); void flowControlChanged(QSerialPort::FlowControl flow); void dataErrorPolicyChanged(QSerialPort::DataErrorPolicy policy); void dataTerminalReadyChanged(bool set); void requestToSendChanged(bool set); void error(QSerialPort::SerialPortError serialPortError); void settingsRestoredOnCloseChanged(bool restore); Во вторых, отслеживание изменения сигналов DSR, CTS, RNG и пр. не поддерживается потому что невозможно это кросс-платформено реализовать для всех платформ (например в MAC OSX) без использования поллинга. |
|
|
ud4fd |
28.4.2013, 19:55
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 26.4.2013 Пользователь №: 3808 Спасибо сказали: 0 раз(а) Репутация: 0 |
А гдеты нашел эти сигналы? Таких сигналов нету, есть только эти: А это нафига есть в файле qserialport_unix.cpp
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 10:01 |