Referenz - OPEN COM
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 weiter unten erklärt. - 'Dateinummer' ist eine Ganzzahl von 1 bis 255, über die später auf den Port zugegriffen wird. Sie darf nicht doppelt vergeben werden und verhält sich wie eine Dateinummer der OPEN-Anweisung.
OPEN COM kann auch als Funktion eingesetzt werden. In diesem Fall müssen die übergebenen Parameter von Klammern umschlossen werden. Wurde der Port erfolgreich geöffnet, wird 0 zurückgeliefert. Bei einem Fehler wird -1 zurückgegeben.
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 auf allen Plattformen
- 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
DIM AS INTEGER filenumber = FREEFILE
OPEN COM "COM1:115200" AS #filenumber
' Zugriff auf COM1 mit 115200 Baud, gerader Parität, 7 Datenbits und 1 Stoppbit
'Testet die ComPorts 1-10 auf Aktivität
Dim As Integer i, a
Dim As String COMPort
For i= 1 To 10
COMPort = "COM" & Str(i) & ":9600,N,8,1,ME,CS0,DS0,RS"
If (Open Com ( COMPort For Binary As #1 ) = 0 ) Then
Print "COM" & Str(i)
EndIf
Close #1
Next
Sleep
Unterschiede zu QB:
- Neben der geänderten Syntax lässt sich OPEN COM in FreeBASIC auch als Funktion einsetzen.
- 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, Hardware-Zugriffe
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|