1. Aufbau der Schnittstelle :
Der Parallelport ist in drei Register engeteilt,
Datenregister(output), Kontrollregister(Input/Output) und
StatusRegister(Input).
Datenregister :
Das Datenregister stellt 8 leitungen zur verfügung,
worüber die zu druckenden Daten an den Drucker geleitet werden.
- D0 bis D7 -> Pin 2 bis Pin 9 am PC-Stecker.
Kontrollregister :
Das Kontrollregister stellt 4 leitungen zur verfügung,
worüber der Drucker gesteuert wird.
- Strobe -> Pin 1 am PC-Stecker.
AutoLF -> Pin 14 am PC-Stecker.
Init -> Pin 16 am PC-Stecker.
Select -> Pin 17 am PC-Stecker.
Statusregister :
Das Statusregister stellt 5 Leitungen zur Verfügung,
worüber der Drucker seinen Status an den Pc übermittelt.
- Error -> Pin 15 am PC-Stecker.
Online -> Pin 13 am PC-Stecker.
Paper -> Pin 12 am PC-Stecker.
Busy -> Pin 11 am PC-Stecker.
ACK -> Pin 10 am PC-Stecker.
2. Verwendung :
Wichtig : Die Unit habe ich nur unter Win2K getestet, aber unter winXP
müsste es auch funktionieren!!!
Die Unit ParaPrcs stellt folgende Funktionen und Prozeduren zur Verfügung :
Function ReadCtrlLines : TCLines; ---> Liest die Leitungen des Kontroll-Registers der Parallelen Schnittstelle (Select - Init - AutoLF - Strobe)
Function ReadStateLines : TSLines; ---> Liest die Leitungen des Status-Registers der Parallelen Schnittstelle (Busy - ACK - Paper - Online - Error)
Procedure WriteDataLines(bits : TDBits); ---> Schreibt die Leitungen des Daten-Registers der Parallelen Schnittstelle (D0 bis D7)
Procedure WriteCtrlLines(cl : TCLines); ---> Schreibt die Leitungen des Kontroll-Registers der Parallelen Schnittstelle (Select - Init - AutoLF - Strobe)
Function PortReset : Boolean; ---> Setzt alle Leitungen auf LOW - Gibt True zurück wenn der Treiber geladen ist.
Hinweis zu den verwendeten Variablen-Typen :- TSLines = record
Busy : boolean;
Ack : boolean;
Paper : boolean;
Online : boolean;
Error : boolean;
end;
TCLines = record
Select : boolean;
Init : boolean;
AutoLF : boolean;
Strobe : boolean;
end;
TDBits = array[0..7] of boolean;
Was man nun damit ansteuern will ist einem selbst überlassen.
Bei Fragen, Eamil an mich.
MFG PMC
[edit=sakura] Archiv als ZIP beigefügt. Mfg, sakura[/edit]