Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Эмулировать СОМ [D4, Win95/98]


Kostya Luzan ©   (2001-12-08 03:59:00) 

У меня проблема. Есть программа (ЕХЕ файл), которая общается с внешним устройством через СОМ порт. Мне нужно написать аналог этой программы. Отсюда вопрос как мне смоделировать для этой программы СОМ -порт, так чтобы когда онаписала в него, сообщения приходили в мою программы, а когда я отвечал - ей ? Очень нужно такое написать.
ЗЫ: устройства у меня нету, так что вариант подключить и подслушать не подойдёт. Надо именно эмулировать.


Kostya Luzan   (2001-12-08 15:24:00) [1]

О, Самый класс. (Хорошие решения как правило простые). нарисуйте плиз распайку, так чтобы я себе порты не попалил.


vasco   (2001-12-08 12:23:00) [2]

Я примерно такое делал при написании модуля связи с АТС.
Вариант такой: отдаешь этой программе один порт, например, com1, сам забираешь второй (com2), соединяешь в блоке эти два порта обрезком 9-жильного кабеля (распайку могу нарисовать) и все...
Все, что ты пошлешь на com2, будет принято на com1 и наоборот, надо только установить одинаковые параметры порта.


swr   (2001-12-08 10:17:00) [3]

unit Main;

interface

{$DEFINE EMULATOR}

uses
Windows, Messages, ...

...
{$IFDEF EMULATOR}
WriteEmulator(Str);
{$ELSE}
WriteComm(Str);
{$ENDIF}
...

----------------------------------------------------------------
Если {$DEFINE EMULATOR} определена, то компилируется WriteEmulator(Str), если нет - WriteComm(Str). WriteComm(Str) реально пишет в COM порт. WriteEmulator(Str) - пишет в форму-эмулятор, которая ведет себя типа как COM порт. Соответственно нужно переопределить ф-и, которые читают из порта. Прежде чем идти на объект, стираешь строку {$DEFINE EMULATOR}, компилируешь и вперед.


LU   (2001-12-08 09:57:00) [4]

Я не понял, ты хочешь просто "прослушать" порт, а устройства нет. Другими словами тебе нужен протокол обмена между устройством и программой или что-то другое?


Наверх

Титульная страница Поиск, карта сайта Написать письмо