Форум: "WinAPI";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
ВнизСимулятор LPT1 Найти похожие ветки
← →
AndreyH (2002-11-05 14:16) [0]Народ!
Возник вопрос - можно ли сделать программный симулятор устройства на LPT1 (не принтер)? Задача стоит в усовершенствовании программы управления устройством на LPT1, но само устройство существует в единственном экземпляре и постоянно загружено, т.е. отлаживать программу на реальном приборе никто не даст.
Команды прибора известны - там все очень просто: посылаем в порт один байт (команда), получаем из порта один байт (результат выполнения отправленной команды). Нужна программа (типа сервера), которая бы получала команды, отправленные в порт, и отвечала на них, т.е. чтобы управляющая программа была уверена, что работает с реальным прибором.
Заранее благодарен за ответ
← →
Андрей Прокофьев (2002-11-05 14:23) [1]напишите базовый класс TAbstractLPT
опишите в нем методы PutByte, GetByte, и т.д.
От него наследуйте два класса - один работающий с реальным LPT,
а другой - эмулирующий работу устройства, и переопределите методы в них.
← →
AndreyH (2002-11-05 18:23) [2]Идея понятна. Спасибо!
Не понятна реализация. Если не сложно, кинте примерчик, что должно быть написано в переопределенных PutByte, GetByte в случае программы управления, и в случае эмулятора. Предположим программа управления отправляет команду 0, эмулятор должен ответить 1.
Заранее благодарен за ответ
← →
Gandalf (2002-11-05 19:04) [3]Скажем так:
TAbstractLPT=class
port:Byte;
procedure PutByte(b:Byte); dynamic; abstract;
function GetByte:Byte; dynamic; abstract;
end;
TRealLPT=class(TAbstractLPT)
procedure PutByte(b:Byte); override;
function GetByte:Byte; override;
end;
TEmulatorLPT=class(TAbstractLPT)
procedure PutByte(b:Byte); override;
function GetByte:Byte; override;
end;
procedure TRealLPT.PutByte(b:Byte);
begin
// your real lpt code
end;
function TRealLPT.GetByte:Byte;
begin
// your real lpt code
end;
procedure TEmulatorLPT.PutByte(b:Byte);
begin
end;
function TEmulatorLPT.GetByte:Byte;
begin
Result:=0;
end;
← →
Ihor Osov'yak (2002-11-05 19:23) [4]Драйвер виртуального lpt поможет. Поищите в инет, очень высока вероятность, что кто-то выложил free
← →
Андрей Прокофьев (2002-11-06 12:26) [5]Ihor Osov"yak © (05.11.02 19:23)
>> Драйвер виртуального lpt поможет
Команды прибора известны - там все очень просто: посылаем в порт один байт (команда), получаем из порта один байт (результат выполнения отправленной команды).
Не думаю, что поможет.
← →
Ihor Osov'yak (2002-11-07 00:08) [6]2 Андрей Прокофьев © (06.11.02 12:26)
> Не думаю, что поможет.
Почему? Я собственно такой драйверок человеку (но для COM) для похожих целей делал. Человек остался доволен. Конечно, был еще интерфейс для получения/посылания даных с "обратной стороны порта".
← →
kuzkin_a (2002-11-07 15:30) [7]Я собственно такой драйверок человеку (но для COM) для похожих целей делал
Очень нужен именно COM-эмулятор - как с Вами связаться?
Мой адрес: kuzkin_a@rambler.ru
Заранее спасибо.
← →
Ihor Osov'yak (2002-11-07 20:06) [8]Мыло ушло на мыло.
← →
Pat (2002-11-07 22:10) [9]>Ihor Osov"yak © (07.11.02 20:06)
Если Вас не затруднит, можно и мне? :-))
pat_mail@mail.ru
P.S. Думаю, найдется много желающих...может быть стоит выложить в кладовку? :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c