Pascal i LPT





excray - 22 Sie 2004 19:09
Nie wiem co sie dzieje. Chce napisac program sterujacy LPT w pascalu. Splodzilem cos takiego:
Program Centronics;
uses
Crt, Dos;
const
Addr=$378;
High=255;
Low=0;
Czas=200;
Begin
Repeat
Port[Addr]:=High;
Delay(Czas);
Port[Addr]:=Low;
Delay(Czas);
Until Keypressed;
End.
Czy ktos mi powie dlaczego to nie dziala? Probowalem rowniez w asemblerze pod pascalem i tez nic. Zmienialem asdresy - nic. Co to moze byc? LPT jest sprawny, bo drukarka dziala. W kompie LPT1 ustawiony jest w zakresie $0378 - 037F. A moze ktos z Was ma jakis smiszny programik na LPT ktory na pewno dziala i moglby mi go podeslac?





elektryk - 22 Sie 2004 19:21
A może uruchamiasz program pod windows? A moze masz inny adres LPT?



excray - 22 Sie 2004 19:44
Pracuje w DOS-ie pod Windowsem XP. W ustawieniach portu LPT1 w menadzerze sa zaznaczone dwa adresy wejscia wyjscia:
0378-037F
0778-077B
Sprawdzalem adresy 0378 i 0778 - nic
W ustawieniach mam zaznaczona funkcje: Nigdy nie uzywaj przerwan i odchaczone - Wlacz wykrywanie starszego sprzetu Plug and Play.



jaro_21 - 22 Sie 2004 21:22
Żeby sterować portami pod XP trzeba je odblokować
dość dawno bawiłem się LPeTem i programy w C++ ze wstawkami asemblerowymi nie chciały mi działać bo wyskakiwał komunikat "privileged instruction"

w załączniku jest program UserPort odblokowujący porty w XP wraz z pdf-em i mój mały programik testowy do LPT u mnie działa ale nie gwarantuje że na innym kompie też bo to tzw. beta

ps w swoim programie w linijce Addr=$378;
spróbuj podać inne czasami używane przez LPT porty
LPT1 378h (888d)
LPT2 278h (632d)
LPT3 3BCh (956d)





excray - 22 Sie 2004 22:02
Dzieki serdeczne :)
Wszystko teraz dziala bez zarzutu. Twoj program rowniez. Jeszcze raz dziekuje za pomoc i pozdrawiam.