Tech-Ecke / Delphi Inhalt / COM-Port ansteuern |
|
![]()
Im Gegensatz zum LPT-Port bietet der COM-Port weniger Ein- und Ausgänge, welche zum Steuern und Regeln genutzt werden können. Jedoch lässt er sich im Gegensatz zu einem LPT-Port einfach und günstig an modernen PC's, per USB-Adapter nachrüsten und mittels Schieberegister lassen sich die Ausgangsports auch beliebig erweitern. Am COM-Port finden man drei nutzbare Ausgänge am Pin 3, 4 und 7 und vier nutzbare Eingänge am Pin 1, 6, 8 und 9. Der Ausgang TxD ist mit einem CH340/CH341 basierendem USB-COM-Adapter nicht möglich. Der Pin 9 "Ring Indicator" ist hier auch nur bedingt nutzbar. Einen High-Pegel (> +3V) quittiert er nur mit einem kurz gepulstem Signal. Wie lange ein Pegel ansteht lässt sich also nicht ermitteln. Mit meinem Prolific 2303GC USB-Adapter klappt das Auslesen wie bei den anderen Ausgängen und RI steht auch voll zur Verfügung.
Weitere Infos und eine Testschaltung zum
Sowohl für das Setzen der Ausgänge als auch das Lesen der Eingänge ist die globale Variable ComHandel zu setzen. Bei OnShow wird der Itemindex von CBCOMPort auf Null gesetzt und der COM-Port (hier COM 1) geöffnet under Handle in die Variable ComHandle übergeben. Nun könne über den Handle des die Eingänge gesetzt und die Ausgänge abgefragt werden. Globale Variable ComHandle deklarieren:
z.B. bei OnShow oder auch per Button:
Auslesen der Eingänge: Pin 1= (Status and MS_RLSD_ON), Pin 6 = (Status and MS_DSR_ON), Pin 9 = (Status and MS_RING_ON)
Setzen der Ausgänge:
z.B. bei OnClose oder auch per Button:
Wie eingangs erwähnt lassen sich die
Ausgänge des COM-Ports mit Schieberegisterbausteinen beliebig
erweitern. Für das Schalten der Ausgänge kann folgende Procedure
verwendet werden:
Aufruf:
Die Procedur setzt auf das oben
gezeigte Code Beispiel auf. ComHandle ist also global
deklariert, "10" setzt eine Wartezeit zwischen den einzelnen Signalen von 10
ms, "255" setz alle Ausgänge, "0" nimmt alles weg. Die Logik des SRWert
folgt dem Setzen der Ausgänge des LPT-Ports in BASIC. Schön zu sehen in der
|
Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !
[letzte Aktualisierung 25.01.2007]