![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LPT-порт [D7, Win95/98, WinXP]
Icar © (2005-07-28 15:50:00)Как мне подать некоторое двоичное число на линии данных ECP LPT порта? Программа для обработки уже есть. Как перевести порт в режим приёма данных?
tesseract (2005-07-29 09:57:00) [1]
function tezpl._SendCommand(var cmd;length:cardinal):integer;
var
tmp,nb:cardinal;
//bt:array of word;
succ:boolean;
begin
result:=-1;
_LastError:=ErrInterfaceError;
// Пишем команду
result:=_lastError;
succ:=true;
succ:=WriteFile(hCom,Cmd,length,nb,@readol);
if not succ then
begin
tmp:=GetLastError;
if tmp=ERROR_IO_PENDING then
if WaitForSingleObject(ReadOl.hEvent,1000)=WAIT_OBJECT_0 then
begin
if GetOverlappedResult(hCom, ReadOL, nb,false) then Succ:=true
end
end; // if not succ
// Обработка ошибок
if not succ then begin _LastError:=ErrCommandError; result:=_lastError; exit; end;
// Всё успешно
_LastError:=ScOK; Result:=0;
end;
Чапаев (2005-07-28 18:59:00) [2]> CreateFile, REadFile, WriteFile WaitForsingleobject, GetOvelpappedResult - Всё в Windows SDK.
Так-то оно так... Но почему-то при попытке WriteFile программулька виснет...
Есть работающий пример?
tesseract (2005-07-28 18:13:00) [3]CreateFile, REadFile, WriteFile WaitForsingleobject, GetOvelpappedResult - Всё в Windows SDK.