Russian Qt Forum
Ноябрь 23, 2024, 00:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt с виртуальным COM-устройством (RS232)  (Прочитано 9874 раз)
Денис
Гость
« : Октябрь 04, 2014, 23:26 »

Проблеа в следующем:
В проекте необходимо реализовать общение с устройством по RS232-порту, но есть проблемка устройства нету на руках и к томуже ответную часть должен написать еще один программист для устройства, следовательно процесс может задержаться ...
Возникла идея создания простенького терминального потока виртуально-подключенный к COM-порту вместо реального устройства, программа не должна быть большой, но натолкнулся на проблему не знания библиотеки с помощью которой можно это реализовать ... Подскажите пожалуйста ?
Записан
Bepec
Гость
« Ответ #1 : Октябрь 04, 2014, 23:36 »

http://www.aggsoft.ru/virtual-null-modem.htm

Записан
Денис
Гость
« Ответ #2 : Октябрь 05, 2014, 15:41 »

Скачивал, но если ее запустить то не удается открыть порт нужный, потому что он занят, а мне надо лишь направить данные в поток ком-порта, перенаправление сделать, чтобы я мог смотреть данные ... ?
Записан
Bepec
Гость
« Ответ #3 : Октябрь 05, 2014, 16:11 »

Эта штука позволяет создать пару виртуальных ком портов. То, что пишется в один - будет читаться из второго и наоборот.
Создаём пару COM1-COM2.
Таким образов у вас программа-имитатор будет работать на COM1, а программа работающая с устройством на COM2.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Октябрь 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=
« Последнее редактирование: Октябрь 05, 2014, 17:08 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
« Ответ #5 : Октябрь 05, 2014, 19:01 »

Эмм, мне страшно это говорить разработчику QSerialPort, но только эта программа у меня нормально и работает Веселый
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Октябрь 05, 2014, 19:16 »

Эмм, мне страшно это говорить разработчику QSerialPort, но только эта программа у меня нормально и работает Веселый
Да для венды это нормальная ситуация, когда одна и та же программа по разному работает, казалось бы на одинаковых машинах с одинаковыми системами. Улыбающийся
Записан
Bepec
Гость
« Ответ #7 : Октябрь 05, 2014, 19:31 »

Не надо начинать, а? Улыбающийся Тот же вариант бывает и с линуксом, если чуть чуть разное железо Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Октябрь 05, 2014, 19:48 »

Не надо начинать, а? Улыбающийся Тот же вариант бывает и с линуксом, если чуть чуть разное железо Улыбающийся
Не бывает. Улыбающийся
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #9 : Октябрь 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 к сожалению не блещут.
« Последнее редактирование: Октябрь 05, 2014, 20:03 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
« Ответ #10 : Октябрь 05, 2014, 19:55 »

Угу. Особенно когда старый дистрибутив берёшь, а там то не собрано, а вон то вообще не собирается на этой версии, а вот это там подправить нужно. Угу, всё просто и легко.

PS программы на виндовс устанавливаются всегда и в равных условиях работают однозначно. Другой вопрос зависит от состояния системы - можно вообще всё испортить Улыбающийся

to Kuzulis: я не видел такой программы. Пример terminal из QSerialPort работает нормально и жмякается спокойно.

update: попробовал ваш термите - видимо ошибка в нём. Енергиа, Ардуино IDE, собственно написанная программа и device studio спокойно принимают и отправляют данные. Собственно драйвер нормален, порты нормальны - видимо что-то всё же внутри термитника Улыбающийся
« Последнее редактирование: Октябрь 05, 2014, 20:02 от Bepec » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #11 : Октябрь 05, 2014, 20:17 »

Хм.. Проверил только что с putty - вроде все нормально (хотя, при первой инициализации, putty принял один мусорный символ в самом начале. больше этого не повторялось).. Может что и пофиксили за это время, т.к. ранее оно (virtual-null-modem) глючило безбожно.
Ок, забираю слова назад по поводу AGG - вроде оно работает (но все-равно не со всеми терминалами).
« Последнее редактирование: Октябрь 05, 2014, 20:18 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
« Ответ #12 : Октябрь 05, 2014, 20:34 »

Как грится - со стороны agg пакеты вылетели, проблемы на вашей стороне Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.