Syntax: OPEN COM "COMn:Optionen, erweiterte_Optionen" AS [#]Dateinummer
Typ: Anweisung
Kategorie: Hardware
OPEN COM bereitet den Zugriff auf einen COM-Port vor.
- 'n' ist die Nummer des Ports, auf den zugegriffen werden soll.
- 'Optionen' ist eine Zeile dieses Formats:
[Geschwindigkeit] [,[Parität] [,[Datenbits] [,[Stoppbits]]]]
Die einzelnen Elemente werden später erklärt. - '#Dateinummer' ist die Nummer, über die später auf den Port zugegriffen werden soll. Möglich sind die Nummern 1 bis 255, sofern es sich dort um eine korrekt konfigurierte serielle Schnittstelle handelt. '#Dateinummer' darf auch eine Variable sein. Die führende Raute ist optional, sollte aber verwendet werden, um sicherzustellen, dass eine Dateinummer bezeichnet wird.
Die Parameter in 'Optionen' haben die folgenden Bedeutungen:
Option | Beschreibung | Bereich (Standard fettgedruckt) |
---|---|---|
Geschwindigkeit | gibt die Geschwindigkeit der Datenübermittlung in Baud (Bits pro Sekunde) an. | 75, 110, 150, 300,.., 115200 |
Parität | gibt die Parität an: none even odd space mark error checking | N E O S M PE |
Datenbits | Anzahl der Datenbits pro Byte | 5, 6, 7, oder 8 |
Stoppbits | Anzahl der Stoppbits | 1, 1.5, oder 2 (der Standardwert ist abhängig von Baudrate und Datenbits) |
Die Reihenfolge innerhalb dieser Liste muss eingehalten werden. Benutzen Sie Kommata, um Platzhalter zu verwenden:
OPEN COM "COM1: ,N,8," AS #1
Wenn Sie acht Datenbits verwenden, müssen Sie als Parität 'none' (N) angeben.
Erweiterte_Optionen:
- CSn Setze die CTS-Dauer (in ms) (n>=0), 0 = abschalten, Standard = 1000
- DSn Setze die DSR-Dauer (in ms) (n>=0), 0 = abschalten, Standard = 1000
- CDn Setze die "Carrier Detect"-Dauer (in ms) (n>=0), 0 = abschalten
- OPn Setze "Open Timeout" (in ms) (n>=0), 0 = abschalten
- TBn Setze die "Transmit Buffer"-Größe (n>=0), 0 = Standard, plattformabhängig
- RBn Setze die "Receive Buffer"-Größe (n>=0), 0 = Standard, plattformabhängig
- RS Unterdrücken der RTS-Erkennung
- LF (oder ASC) Kommunikation im ASCII-Modus (füge LF zu jedem CR hinzu) - Win32 unterstützt das nicht
- BIN Das Gegenstück zu LF, funktioniert immer
- PE Erlaube Paritätsprüfung
- DT DTR nach CLOSE weiterhin erlauben
- FE ungültige Zeichen bei Fehler nicht beachten
- ME Alle Fehler ignorieren
- IRn IRQ-Nummer für COM (wird nur unter DOS unterstützt)
Beispiele:
OPEN COM "COM1:9600,N,8,1" AS #1
' Zugriff auf COM1 mit 9600 Baud, ohne
' Paritäts-Bit, acht Datenbits, ein Stoppbit
OPEN COM "COM1:115200" AS #1
' Zugriff auf COM1 mit 115200 Baud, gerader Parität, 7 Datenbits und 1 Stoppbit
Unterschiede zu QB:
- Neben der geänderten Syntax lässt sich OPEN COM auch als Funktion einsetzen; siehe OPEN (Funktion). Es wurde von Problemen bei der Verwendung von OPEN COM unter Windows XP berichtet.
Wird OPEN COM als Funktion benutzt, liefert sie 0 bei Erfolg und -1 bei Fehler. - In QB werden nur "COM1:" und "COM2:" unterstützt. In FreeBASIC kann jede korrekt konfigurierte serielle Schnittstelle verwendet werden.
Plattformbedingte Unterschiede:
- Unter Windows verweist "COM:" auf "COM1:"
- Unter Linux verweist
- "COM:" auf "/dev/modem"
- "COM1:" auf "/dev/ttyS0"
- "COM2:" auf "/dev/ttyS1", usw.
- "/dev/xyz:" auf "/dev/xyz", usw.
- Die seriellen Schnittstellen unter DOS sind experimentell, und es kann auf die Ports 1 bis 4 zugegriffen werden. Standardmäßig werden für die Ports folgende Basisadressen und IRQs verwendet:
- COM1 - &h3f8 - IRQ4
- COM2 - &h2f8 - IRQ3
- COM3 - &h3e8 - IRQ4
- COM4 - &h2e8 - IRQ3
Im Augenblick nicht unterstützt werden IRQ am Slave-PIC, alternative Basisadressen für I/O, Timeouts und die meisten in QB entdeckten Fehler, hardware flow control sowie FIFOs.
Siehe auch:
OPEN (Anweisung), INP, OUT, WAIT, LPRINT (Anweisung), LPRINT USING