Aby sterować LPT w przez WinAPI wystarczy :
( działa pod XP, bez żadnych "extra" sterowników )
var :
MyLPT : THandle;
MyData : integer;
procedure OtworzPortLPT( var pHandle : THandle );
begin
pHandle := CreateFile('LPT1', GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
end;
procedure WystawDane( pData : integer; pHandle : THandle );
var
ret : dword;
begin
WriteFile( pHandle , pData, 1, ret, nil);
end;
procedure ZwolnijUchwyt( pHandle : THandle );
begin
CloseHandle( pHandle );
end;
begin
MyData := 129; { pierwszy i ostatni bit }
OtworzPortLPT( MyLPT );
WystawDane( MyData, MyLPT );
ZwolnijUchwyt( MyLPT );
end;
Ważne jest, aby we wtyczce piny 10, 11, 12 zewrzeć do masy. ( pin 18 - 25 )
pinem 10 drukarka informuje, że jest goowa na przyjęcie danych
pinem 11 drukarka informuje, że jest podłączona i nie ma zajęcia
pinem 12 drukarka informuje, że ma papier
także oszukujemy nieco system ...
Do pinów 2 - 9 podłączamy cokolwiek, najlepiej jednak na początek 8 diód anodami, do nich 8 oporników po 1k a oporniki do masy - żeby zobaczyć czy działa
poniżej:
* schemat połączeń
* kod źródłowy programu ( delphi 3 )
* programik do testów