Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[pascal] Programowanie portu LPT

riodoro1 22 Wrz 2007 07:35 3092 8
  • #1 22 Wrz 2007 07:35
    riodoro1
    Poziom 22  

    Witam jestem amatorem programowania w pascal'u (Używam FPC 2.2.0 ) i szukam sposobu na zaprogramowanie portu LPT. Niestety najprostszy sposób [code] port[$378]:=bajt [/code] zawiódł :cry:. Proszę o łopatologiczne wytłumaczenie jak to zrobić.

    Pozdro wszystkim bez wyjątku :D

    //Temat poprawiłem - krzychoocpp

    0 8
  • #2 22 Wrz 2007 08:43
    mirekk36
    Poziom 42  

    Witam,

    a jakiego systemu operacyjnego używasz? może windy XP? jeśli tak to aby taki tryb dostępu do portu działał trzeba użyć albo jakiegoś programu jak zlportio lub podobnego aby winda pozwalała na bezpośredni dostęp do swojego portu albo napisać procedurę obsługi w WinApi co też można zrobić tylko nie wiem czy akurat w twom pascalu. A poza tym jeśli korzystasz z windy oczywiście to czy nie lepiej zacząć działać w Delphi??? przecież jest dostępna darmowa wersja i to b.dobrze działająca z serii turbo - firmy Borland.

    pozdrawiam

    0
  • #3 22 Wrz 2007 10:51
    riodoro1
    Poziom 22  

    tak używam windy XP ale już odblokowałem port jakimś programem i sprawdziłem aplikacją na LPT na swojej partycji oraz brata i u mnie działa a u brata nie

    0
  • #4 23 Wrz 2007 14:58
    piotrkopec
    Poziom 17  

    Czy masz włączone 'lpt' w 'bios'ie? może pod innym adresem(???)?
    Jeżeli włączyłeś, to spróbuj jeszcze przed swoimi funkcjami otworzyć port 'lpt1'
    W 'winapi' wygląda to tak:

    Code:

    HANDLE hParallel = CreateFile("LPT1", 0, 0, NULL, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL, NULL);

    nie zapomnij zamknąć go na końcu programu:
    Code:

    CloseHandle( hParallel);

    0
  • #5 24 Wrz 2007 19:23
    riodoro1
    Poziom 22  

    :arrow: Piotrkopec
    i tak zrobiłem umieściłem t frazy na początku i końcu programu ale przy kompilacji wywala "illegal expression" zaraz po tagu "HANDLE".
    A w ustawieniach BIOS pisze 378 czyli normalny adres portu LPT1 tak?

    0
  • #6 24 Wrz 2007 19:32
    maciek_slon
    Poziom 29  

    No bo to co wkleił piotrkopec jest kawałkiem kodu C/C++ więc raczej w pascalu działać nie będzie.

    0
  • #7 25 Sty 2008 13:15
    fyrek
    Poziom 9  

    Witam.Mam potrzebę zrobienia programu do sterowania sterownikiem silników krokowych.jedyny język sterowania jaki jeszcze znam jako tako :) to pascal.Posiadam system linux i programuje na lazerusie.Pytanie brzmi gdzie mogę poznać zasady programowania portów LPT lub rs232 w tym języku?Szukałem w tym forum pod hasłami 'lpt pascal' i znalazłem trochę ale zazwyczaj są to gotowe listingi.No i jak to wygląda w linuksie dostęp do portów.Dzięki za każdą podpowiedź.

    0
  • #8 30 Sty 2008 13:54
    Tomek-85
    Poziom 14  

    fyrek -> z tego co mi wiadomo, dostęp do portów w linuksie jest realizowany jako operacje na pliku.
    Czyli musisz sobie najpierw takowy plik otworzyć, pobawić się na nim a potem wszystko zamknąć.
    Pozdrawiam.

    0
  • #9 30 Sty 2008 16:12
    fyrek
    Poziom 9  

    Dzięki .Goglowałem trochę po necie i dowiedziałem się jak prosta jest ta czynność w języku c++ i Linuxie oczywiście.Na windzie ponoć jest z tym gorzej Niestety nie znam C++ na tyle ażeby od tak sobie napisać skrypt ale już nie długo(uczę się go i nie wydaje się taki ciężki w prostych zastosowaniach).W pascalu niestety nie znalazłem co trochę boli bo go znam ,ale cóż od czego chęci :).

    0
  Szukaj w 5mln produktów