QSerialPort и эмулятор виртуального порта
У меня проблема с моей программой, основанной на классе QSerialPort. Я создал приложение-приемник для моего модуля Bluetooth HC-06 (который подключается к компьютеру через последовательный порт), и мое приложение получило данные с этого модуля без каких-либо проблем. Сейчас я только что написал другое приложение, которое должно имитировать передатчик. Затем я попытался использовать программу Free Virtual Serial Port для создания моста между двумя виртуальными последовательными портами. И после этого возникают некоторые проблемы. Приложение-получатель не излучает сигнал readyRead(), даже если я записываю данные в мостовой последовательный порт через приложение-передатчик. Когда я отключаю приемник и подключаюсь к тому же порту через терминал Hercules, отображаются все буферизованные данные.
Что я делаю неправильно? Есть ли возможность заставить его работать? Я использую QT Creator 2.8.1 на основе QT 5.1.1 на Windows 7 64bit.
1 ответ
@ User3148625,
если вы говорите об этом программном обеспечении: http://www.hhdsoftware.com/free-virtual-serial-ports
тогда я не рекомендую использовать это, потому что это программное обеспечение работает с ошибками (IMHO, плохое программное обеспечение).
Например, при попытке создать "мост" и в дальнейшем открыть порт любой из терминальных программ, произойдет сбой.
Например, я использовал Windows 8x32 и множество программ этого терминала:
эта программа падает при попытке открыть порт
- Tera Term Pro: http://en.sourceforge.jp/projects/ttssh2/releases/
после попытки открыть порт, эта программа начинает получать поток мусора, а также происходит сбой.
Я уверен, что поведут себя и другие программы. Т.е. проблема не в QtSerialPort, а в плохих драйверах программного обеспечения "Free Virtual Serial Port". Это старая известная проблема.
При этом советую использовать com0com эмулятор: http://sourceforge.net/projects/com0com/
Или любое другое программное обеспечение (например, пробная версия виртуальных портов Eltima Software).