Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизРабота с LPT-портом под XP Найти похожие ветки
← →
X9 © (2005-01-24 07:46) [0]Здравствуйте, Мастера!
Я собрал самоделку, которая управляет мощной нагрузкой через тиристор. Самоделка подключается к LPT-порту к выводу d0. При выполнении следующего кода на TP7 под DOS всё работает нормально(Извиняюсь за неоптимальный код, писал только для проверки):
-------------------------------
program LPTProg;
uses
Crt,
Dos;
var
I: Byte;
begin
while true do
begin
if Random(2) = 1 then
Port[MemW[$0040:$0008]] := 1;
Delay(5000);
if Random(2) = 1 then
Port[MemW[$0040:$0008]] := 0;
Delay(5000);
end;
end.
-------------------------------
Мне необходимо реализовать "отправку" в LPT-порт одного байта. Я попытался сделать так:
-------------------------------
procedure StartLPTCycle;
var
LPTHandle: THandle;
BW: Cardinal;
B: Byte;
begin
LPTHandle := CreateFile("LPT1", GENERIC_WRITE,FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
while true do
begin
B := 1;
if Random(2) = 1 then
WriteFile(LPTHandle, B, 1, BW, nil);
Sleep(500);
B := 0;
if Random(2) = 1 then
WriteFile(LPTHandle, B, 1, BW, nil);
Sleep(500);
Application.ProcessMessages;
end;
CloseHandle(LPTHandle);
end;
-------------------------------
Программа виснет при выполнении функции WriteFile. Скажите, пожалуйста, что в этом коде неправильно?
← →
rainy (2005-01-24 07:51) [1]Насколько я знаю в XP доступ к LPT порту сильно ограничен. Это связано с безопасностью. Так что попобуй отладить код сначала в 9х
← →
Kerk © (2005-01-24 07:52) [2]а LPTHandle чему равно?
← →
X9 © (2005-01-24 09:08) [3]LPTHandle равно 1936 (не соответствует INVALID_HANDLE_VALUE), порт присутствует в системе и имеет название именно LPT1. Скажите, можно ли осуществить данную операцию в XP без написания драйвера? Видел прогу, LPT_Drv_1002 (драйвер с демкой на С++, http://www.2065.nm.ru), она работает нормально, однако использует собственный драйвер. Скажите, можно ли осуществить данную операцию в XP без использования драйвера?
← →
KSergey © (2005-01-24 09:34) [4]> [3] X9 © (24.01.05 09:08)
> данную операцию в XP без использования драйвера?
Нет.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c