Einzelnen Beitrag anzeigen

pmc

Registriert seit: 9. Sep 2003
Ort: Düsseldorf
78 Beiträge
 
Delphi 6 Personal
 

Steuerung jedes Pines des Parallelports mit Win95 bis WinXP

  Alt 11. Sep 2003, 15:04
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.
  1. 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 :
  1. 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]
Angehängte Dateien
Dateityp: exe port_access.exe (235,1 KB, 897x aufgerufen)
Dateityp: zip archiv.zip (214,2 KB, 738x aufgerufen)
Woher soll ich wissen was ich denke,
wenn ich noch nicht gehört habe was ich sage?
  Mit Zitat antworten Zitat