Zugiff auf Parallelport

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Zugiff auf Parallelport

Beitrag von Martin66119 »

Hallo an alle! Da ich mal wissen wollte wie man Daten am Parallelport ausgeben und einlesen kann, habe ich mal was getestet (Hier nur die Ausgabe). Beispielcode

;---------------Deklaration der Variabeln ---------------------------------------

PortNum.l = $378 ; PortNummer Datenregisters (LPT1)
PortNumS.l = $379 ; PortNummer Statusregisters (LPT1)
PortNumC.l = $37A ; PortNummer Controlregisters (LPT1)
i.b = 0
Ergebnis.b=0
j.l=0

;---------------------------------------(check library file open)------------------
LibOpen.l = OpenLibrary(1,"io.dll")
If LibOpen = 0
End
EndIf


AdrPortOut.l = IsFunction(1, "PortOut")
AdrPortIn.l = IsFunction(1, "PortIn")
CallFunctionFast(AdrPortOut, PortNum,22)

;-----------------------------Öffnen der Funktionen der io.dll-------------------

StartZeit=ElapsedMilliseconds()
Repeat
CallFunctionFast(AdrPortOut, PortNum,220); write 80h to port 378h
Ergebnis.b=CallFunctionFast(AdrPortIn, PortNum)
INC j
Until j = 360000
StopZeit=ElapsedMilliseconds()
Zeit = StopZeit - StartZeit

Zahl$ = StrF(Zeit)
Ergebnis.b = MessageRequester("Zeit", Zahl$, #PB_MessageRequester_Ok)

;------------------------------------------------------------------------------------

Die entsprechende IO.DLL ist unter folgendem Link zu finden.
http://www.geekhideout.com/iodll.shtml

Was mich wundert, ist dass der Zugriff eigentlich recht langsam ist. Kann man den Code irgendwie verbessern, dass es schneller geht oder habe ich nur den falschen Weg gewählt um Daten an dem Parallelport ausgeben zu können.

Danke für die Hilfe.
Martin
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Ich kann dir zwar nicht bei deinem Problem weiterhelfen, aber wollte dir trotzdem sagen, dass es hier Code-Tag gibt im Forum :wink:

Code: Alles auswählen

Hier kommt dein Code rein
Antworten