Здравствуйте, гость ( Вход | Регистрация )
marsel | Дата 20.8.2013, 23:02 |
Здравствуйте kuzulis. Подскажите пожалуйста возможно ли в QSerialPort из под Windows получить дескриптор (handle) com порта, который возвращает CreateFile. Просто необходимо изменить время ожидания у микросхемы FTDI(Виртуальный com порт). У неё есть библиотека, с помощью которой можно изменить это время ожидания. Но необходим дескриптор (handle) com порта. http://www.ftdichip.com/Support/Knowledgeb...atencytimer.htm #include "ftd2xx.h" FT_HANDLE ftHandle; UCHAR LatencyTimer;//***Время ожидания FT_SetLatencyTimer(ftHandle, LatencyTimer); |
|
kuzulis | Дата 28.4.2013, 23:12 |
А я тебе ответил, что можешь только поллингом их состояние узнать (по таймеру или еще как нить):
Нативный мониторинг не поддерживается, т.к. невозможно в MAC OSX это реализовать. Поэтому забили болт на реализацию этой возможности - т.к. она могла бы работать только на Windows и Linux. |
|
ud4fd | Дата 28.4.2013, 22:15 |
А ты не можешь отличить Qt-шные сигналы от сигнальных линий порта (pinout signals)? вот здесь Здравствуйте kuzulis, Подскажите ка в библиотеке QtSerialPort использовать сигнал PinoutSignals для контроля за состоянием линий CTS, RI, DCD ... желательно с реальным примером. Я и спрашивол есть ли возможность обрабатывать сигналя от PinoutSignals или нет. Так как в документации ни чего толком не нашел. |
|
kuzulis | Дата 28.4.2013, 21:07 |
Цитата А это нафига есть в файле qserialport_unix.cpp А ты не можешь отличить Qt-шные сигналы от сигнальных линий порта (pinout signals)? Нонсенс, я и не знал, что можно делать QObject::connect к перечисляемому типу, вот это новость так новость! Ужос! |
|
ud4fd | Дата 28.4.2013, 19:55 |
А гдеты нашел эти сигналы? Таких сигналов нету, есть только эти: А это нафига есть в файле qserialport_unix.cpp
|
|
kuzulis | Дата 28.4.2013, 13:35 |
А гдеты нашел эти сигналы? Таких сигналов нету, есть только эти: Цитата 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 | Дата 27.4.2013, 12:00 |
Здравствуйте kuzulis, при попытке использовать сигналы от состояния линий порта
в дебаг получаю следующее Цитата Object::connect: No such signal QSerialPort::DataSetReadySignal() Object::connect: (receiver name: 'MainWindow') Тестировал под Linux в QT4.8 и QT5 Как правильно работать с сигналами от линий порта? |
|
ud4fd | Дата 27.4.2013, 0:00 |
Здравствуйте kuzulis, Подскажите ка в библиотеке QtSerialPort использовать сигнал PinoutSignals для контроля за состоянием линий CTS, RI, DCD ... желательно с реальным примером. |
|
Алексей1153 | Дата 6.4.2013, 16:22 |
какие по весне все нервные | |
kuzulis | Дата 5.4.2013, 10:45 |
Парни, ну не серьезно все это. Я перестану вообще отвечать и реагировать на такого рода вопросы и хотелки. Цитата Вот как раз по второй причине хочется сделать сначала задать конфигурацию, а потом открывать устройство. Неверно. Ты можешь для такого поведения сделать свою обертку над классом. Цитата И потом в QextSerialPort нужно сначала создать объект порта (получить дескриптор устройства), затем сконфигурировать его и только потом открывать. Неверно. Каша в голове. Цитата Так что по крайней мере я не вижу в действиях ALeXUI ничего конфликтующего с нормальной логикой или опытом использования QextSerialPort. Неверно. Я не разбираюсь в сортах г-на и логика/опыт с QextSerialPort меня не волнует. Цитата сам порт (который в системе), конечно же, требует, чтобы сначала открыли его, потом настроили. Но оболочка вполне может позволить сначала задать настройки, а потом , когда порт открывают, эти настройки туда лепить. Оболочка - это то что может пользователь сделать под себя как ему хочется, просто обернув класс своей логикой. Задача класса - обеспечить оптимальный, простой, универсальный, понятный и гибкий интерфейс для работы с у-вом. Цитата так что, недоработочка в интерфейсе оболочки ИМХО Так что, недоработочка в интерфейсе мозга ИМХО А также нежелание читать документацию, смотреть примеры, поискать решение в гугле и т.п. Проще ляпнуть перл в форум - авось кто-нибудь решит вашу проблему за Вас. UPD: Также см. QFile, QAbstractSocket, QProcess и прочие классы от QIODevice. Они не согласны с вашей логикой. Я нехочу спорить об этом. Если есть желание что-то изменить - представьте свое решение в Gerrit. Если его одобрят (но я не одобрю ) то оно появится в QtSerialPort. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 17.6.2024, 14:53 |