PureBasic - ParPort Version 1.1
Einleitung
Diese Library ermoeglicht einfachen Zugriff auf parallele Schnittstelle eines PCs unter Linux.
Die Pinsnamen beziehen sich auf Parallerport im SPP-Modus.
Voraussetzung um die Funktionen dieser Bibliothek zu nuetzen ist installiertes parport Kernel-Modul.
Funktionen die mit "r" beginnen lesen von der parallelen Schnittstelle,
die Funktionen die mit "s" beginnen schreiben auf die parallele Schnittstelle.
Hier eine Testschaltung
Befehlsbersicht
parport_open
parport_relese
r_acknowledge
r_busy
r_controlreg
r_datareg
r_error
r_paperout
r_select
r_statusreg
s_autofeed
s_datareg
s_datareg_mode
s_datastrobe
s_reset
s_selected
Beispiel-Code:ParPort_Beispiel.pb
Unterstuezte OS
Linux
Syntax
fd.l = parport_open(devname.s)Beschreibung
Oeffnet den Parallel-Port. Parameter "devname.s" ist der Pfad zu Device-Datei im "/dev/" Verzeichnis, die mit dem parport-Treiber verknuepft ist. Ueblicherweise ist es "/dev/parport0..3" Der Rueckgabewert ist ein filedescriptor, der von den anderen Funktionen benutzt wird um auf die Schnittstelle zu zugreiffen.
Unterstuezte OS
Linux
Syntax
parport_relese(fd.l)Beschreibung
Gibt den zuvor mit parport_open() geoeffneten Parallerport wieder frei. Der Parameter ist der filedescriptor der von der Funktion open_parport() zurueckgeliefert wurde.
Unterstuezte OS
Linux
Syntax
result.l = r_acknowledge(fd.l)Beschreibung
Liefert den Zustand am Acknowledge-Eingang (pin 10) zurueck. Der Rueckgabewert ist entweder 0 (Low-Zustand) oder 1 (Hi-Zustand)
Unterstuezte OS
Linux
Syntax
result.l = r_busy(fd.l)Beschreibung
Liefert den Zustand am Busy-Eingang (pin 11) zurueck. Der Rueckgabewert ist entweder 0 (Low-Zustand) oder 1 (Hi-Zustand)
Unterstuezte OS
Linux
Syntax
regval.b = r_controlreg(fd.l)Beschreibung
Diese Funktion gibt den zuletzt in den Kontrollregister geschribenen Wert. Diese Funktion liefert einen Wert von 0 bis 15 zurueck. Es auch kein tatsaechlicher Wert der im Kontrollregister gespeicher ist, sonden ein Wert der in einer Variable, in die, die gleichen Werte, wie in den Kontrollregister, geschrieben werden. /*Diese Funktion ist arbeiet leider noch nicht zuverlaessig*/
Unterstuezte OS
Linux
Syntax
regval.b = r_datareg(fd.l)Beschreibung
Liest den Wert, der im Datenregister der paralleren Schnittstelle gespeicher ist. Um Die Daten aus einer externen Quelle einzulesen, die an den Pins 2..9 angeschlossen ist, muss die parallere Schnittstelle zuvor mit der Funktion s_datareg_mode() auf Lesen konfiguriert werden.
Unterstuezte OS
Linux
Syntax
result.l = r_error(fd.l)Beschreibung
Liefert den Zustand am Error-Eingang (pin 15) zurueck. Der Rueckgabewert ist entweder 0 (Low-Zustand) oder 1 (Hi-Zustand)
Unterstuezte OS
Linux
Syntax
result.l = r_paperout(fd.l)Beschreibung
Liefert den Zustand am Paperout-Eingang (pin 12) zurueck. Der Rueckgabewert ist entweder 0 (Low-Zustand) oder 1 (Hi-Zustand)
Unterstuezte OS
Linux
Syntax
result.l = r_select(fd.l)Beschreibung
Liefert den Zustand am Select-Eingang (pin 13) zurueck. Der Rueckgabewert ist entweder 0 (Low-Zustand) oder 1 (Hi-Zustand)
Unterstuezte OS
Linux
Syntax
regval.b = r_statusreg(fd.l)Beschreibung
Liest den Wert der im Statusregister gespeichert ist. Statusregister ist mit den Pins 1 , 14, 16, 17 und der Wert im Statusregister haengt direkt von den Zustaenden (Hi, Low) and diesen Pins.
Unterstuezte OS
Linux
Syntax
s_autofeed(fd.l, flag.l)Beschreibung
Setzt den Autofeed-Ausgang (Pin 14) auf 1 oder 0 gemaess dem flag.l Parammeter.
Unterstuezte OS
Linux
Syntax
s_datareg(fd.l, regval.b)Beschreibung
Setzt den Datenregister der paralleren Schnittstelle auf den Wert des regval.b Parammeters. Die parallere Schnittstelle soll zuvor mit der Funktion s_datareg_mode() auf Schreiben konfiguriert werden. Der Parameter fd.l ist der filedescriptor.
Unterstuezte OS
Linux
Syntax
s_datareg_mode(fd.l, flag.l)Beschreibung
Diese Funktion Konfiguriert die parallere Schnittstelle (genauer gesagt Pins 2..9) zum Lesen oder Schreiben. Parammeter flag.l muss auf 0 gesetzt werden um von den Pins 2..9 Daten lesen zukoennen und auf 1 auf dieselben zu Schreiben.
Unterstuezte OS
Linux
Syntax
s_datastrobe(fd.l, flag.l)Beschreibung
Setzt den Datastrobe-Ausgang (Pin 1) auf 1 oder 0 gemaess dem flag.l Parammeter.
Unterstuezte OS
Linux
Syntax
s_reset(fd.l, flag.l)Beschreibung
Setzt den Reset-Ausgang (Pin 16) auf 1 oder 0 gemaess dem flag.l Parammeter.
Unterstuezte OS
Linux
Syntax
s_selected(fd.l, flag.l)Beschreibung
Setzt den Selected-Ausgang (Pin 17) auf 1 oder 0 gemaess dem flag.l Parammeter.
Unterstuezte OS
Linux
;ParPort-Besipiel
DefType.l fd
;Parallel-Port offnen fd = parport_open("/dev/parport0")
If fd
s_datareg_mode(fd,1);Pins 2..9 auf Schreiben konfiguriren ;Dioden blinken lassen While(1)
s_datastrobe(fd,1);pin 1 Data Strobe s_autofeed(fd,1);pin 14 Autofeed s_reset(fd,1);pin 16 Reset s_selected(fd,1);pin 16 Selected s_datareg(fd,255);Pins 2..9 Delay(1000); s_datastrobe(fd,0);pin 1 Data Strobe s_autofeed(fd,0);pin 14 Autofeed s_reset(fd,0);pin 16 Reset s_selected(fd,0);pin 16 Selected s_datareg(fd,0);Pins 2..9 Delay (1000)
Wend ;Parallel-Port freigeben parport_relese(fd)
EndIf End