fb:porticula NoPaste
LPT mit INPOUT32.DLL und FreeBasic
Uploader: | Michael Frey |
Datum/Zeit: | 10.08.2005 20:25:44 |
'- FB-InpOut.bas ----------------------------------------------- >>fst'05<< -
'- Beispielprogramm für die Verwendung von "inpout32.dll"
' in Freebasic (gestestet mit Version 0.14b)
'- Schaltet nacheinander die Pins des LPT1-Datenausgangs
'- von Michael Frey mit Ergänzungen von Frank Steinberg
'- Links: http://www.logix4u.net/inpout32.htm
' http://www.FreeBasic.net
'- V 20050810 -------------------------------- http://www.FrankSteinberg.de -
'Deklarationen:
dim library as integer
dim OUT32 as sub (byval Adresse AS INTEGER, byval Wert AS INTEGER)
dim INP32 as function (byval Adresse AS INTEGER ) AS INTEGER
'DLL laden:
library = dylibload("inpout32.dll")
'Inhalt von INPOUT.dll deklarieren:
Out32 = dylibsymbol(library, "Out32")
Inp32 = dylibsymbol(library, "Inp32")
'Fehlerbehandlung:
if(library = 0) then
print "INPOUT32.dll nicht gefunden."
sleep
end 1
end if
'"Lauflicht" auf den 8 Datenpins von LPT1:
'(ggf. 956 (3BChex) statt 888 als alternative Adresse für LPT1 verwenden)
for i=0 to 7
out32(888,2^i) 'Byte in das LPT-Datenregister geben
print inp32(888) 'Registerinhalt lesen und anzeigen
sleep 300 '0,3 Sek warten
next i
sleep 'auf Tastendruck warten
out32(888,0) 'alle Datenpins low