![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмулировать СОМ [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]Я не понял, ты хочешь просто "прослушать" порт, а устройства нет. Другими словами тебе нужен протокол обмена между устройством и программой или что-то другое?