Название: Qt с виртуальным COM-устройством (RS232) Отправлено: Денис от Октябрь 04, 2014, 23:26 Проблеа в следующем:
В проекте необходимо реализовать общение с устройством по RS232-порту, но есть проблемка устройства нету на руках и к томуже ответную часть должен написать еще один программист для устройства, следовательно процесс может задержаться ... Возникла идея создания простенького терминального потока виртуально-подключенный к COM-порту вместо реального устройства, программа не должна быть большой, но натолкнулся на проблему не знания библиотеки с помощью которой можно это реализовать ... Подскажите пожалуйста ? Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 04, 2014, 23:36 http://www.aggsoft.ru/virtual-null-modem.htm
Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Денис от Октябрь 05, 2014, 15:41 Скачивал, но если ее запустить то не удается открыть порт нужный, потому что он занят, а мне надо лишь направить данные в поток ком-порта, перенаправление сделать, чтобы я мог смотреть данные ... ?
Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 05, 2014, 16:11 Эта штука позволяет создать пару виртуальных ком портов. То, что пишется в один - будет читаться из второго и наоборот.
Создаём пару COM1-COM2. Таким образов у вас программа-имитатор будет работать на COM1, а программа работающая с устройством на COM2. Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: kuzulis от Октябрь 05, 2014, 17:06 Я бы не рекомендовал "virtual-null-modem", т.к. оно неработающее в принципе (я уже много раз писал).
Поэтому рекомендую open-source (бесплатное): http://sourceforge.net/projects/com0com/ ну, или на крайний случай ПО от Eltima (триалка на 14 дней, если не ошибаюсь). Ничего более вменяемого для эмуляции последовательных портов в Windows нет. PS: Если используется 64-х битная ОС и com0com то нужно качать подписанные драйвера com0com: https://code.google.com/p/powersdr-iq/downloads/detail?name=setup_com0com_W7_x64_signed.exe&can=2&q= Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 05, 2014, 19:01 Эмм, мне страшно это говорить разработчику QSerialPort, но только эта программа у меня нормально и работает :D
Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Old от Октябрь 05, 2014, 19:16 Эмм, мне страшно это говорить разработчику QSerialPort, но только эта программа у меня нормально и работает :D Да для венды это нормальная ситуация, когда одна и та же программа по разному работает, казалось бы на одинаковых машинах с одинаковыми системами. :)Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 05, 2014, 19:31 Не надо начинать, а? :) Тот же вариант бывает и с линуксом, если чуть чуть разное железо :)
Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Old от Октябрь 05, 2014, 19:48 Не надо начинать, а? :) Тот же вариант бывает и с линуксом, если чуть чуть разное железо :) Не бывает. :)Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: kuzulis от Октябрь 05, 2014, 19:53 Цитата: Bepec Эмм, мне страшно это говорить разработчику QSerialPort, но только эта программа у меня нормально и работает 1. Ну вот только что скачал последнюю триальную версию (2.5.5.701). 2. Установил, настроил пару портов COM30 и COM31 3. Запустил две сессии терминала Termite: http://www.compuphase.com/software_termite.htm - одна сессия для COM30 - вторая сессия для COM31 4. Напечатал символ "q", жмакнул "отправить" В итоге экземпляр Termite (который принимающая сторона) - тупо завис и крешнулся. Далее, вместо Termite для приема запустил пример Terminal из QSerialPort - приемная сторона начинает принимать какой-то стрим мусора.. И это поведение было на всех компах ка которых я тестил (Win 7x64, Win8.1x64, Win8.1x32). Так что не надо гнать на Windows - руки у разработчиков через одно место просто. ;) Цитата: Old Не бывает. На Windows тоже не бывает. Все проблемы от кривых рук программистов, к сожалению. PS: Да и все продукты от AGG Software к сожалению не блещут. Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 05, 2014, 19:55 Угу. Особенно когда старый дистрибутив берёшь, а там то не собрано, а вон то вообще не собирается на этой версии, а вот это там подправить нужно. Угу, всё просто и легко.
PS программы на виндовс устанавливаются всегда и в равных условиях работают однозначно. Другой вопрос зависит от состояния системы - можно вообще всё испортить :) to Kuzulis: я не видел такой программы. Пример terminal из QSerialPort работает нормально и жмякается спокойно. update: попробовал ваш термите - видимо ошибка в нём. Енергиа, Ардуино IDE, собственно написанная программа и device studio спокойно принимают и отправляют данные. Собственно драйвер нормален, порты нормальны - видимо что-то всё же внутри термитника :) Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: kuzulis от Октябрь 05, 2014, 20:17 Хм.. Проверил только что с putty - вроде все нормально (хотя, при первой инициализации, putty принял один мусорный символ в самом начале. больше этого не повторялось).. Может что и пофиксили за это время, т.к. ранее оно (virtual-null-modem) глючило безбожно.
Ок, забираю слова назад по поводу AGG - вроде оно работает (но все-равно не со всеми терминалами). Название: Re: Qt с виртуальным COM-устройством (RS232) Отправлено: Bepec от Октябрь 05, 2014, 20:34 Как грится - со стороны agg пакеты вылетели, проблемы на вашей стороне :)
|