Bezeichnung
OpenSerialPort -- öffnet die serielle Schnittstellenverbindung (V8.0)
Übersicht
[id] = OpenSerialPort(id, portname$[, table])
Beschreibung
Dieser Befehl kann verwendet werden, um eine Verbindung zu dem in portname$ angegebene serielle Schnittstelle zu öffnen und der Verbindung den Identifikator id zuzuweisen. Wenn Sie Nil in id übergeben, wählt OpenSerialPort() automatisch eine ID aus und gibt diese zurück.

Der Name, den Sie in portname$ übergeben, hängt von der Plattform ab, auf der Ihr Skript ausgeführt wird. Unter Windows könnte es COM1 sein, unter Linux und macOS /dev/ttyS0 oder /dev/ttyUSB0, falls Sie einen USB-Adapter verwenden. Unter AmigaOS müssen Sie die Einheit des serial.device übergeben, die Sie in portname$ öffnen möchten. Bei Android wird davon ausgegangen, dass es nur einen Port gibt, sodass portname$ ignoriert wird.

Ab Hollywood 9.0 kann portname$ jetzt auf AmigaOS und kompatiblen Systemen auch eine Zeichenkette im Format "<Gerätename>:<Port>" sein. Dies ist nützlich, wenn Sie möchten, dass OpenSerialPort() ein alternatives serielles Gerät anstelle des AmigaOS-Standards serial.device öffnet. Wenn Sie beispielsweise "serialpl2303.device:0" in portname$ übergeben, wird versucht, serialpl2303.device auf Port 0 zu öffnen.

Darüber hinaus können Sie ein optionales Tabellenargument übergeben, mit dem Sie die Parameter für die serielle Schnittstellenverbindung festlegen können. Folgende Felder werden derzeit erkannt:

BaudRate:
Die gewünschte Baudrate für die Verbindung. Dies kann eine der folgenden speziellen Konstanten sein:

#BAUD_300:
300 Bits pro Sekunde.
#BAUD_600:
600 Bits pro Sekunde. (V9.0)
#BAUD_1200:
1200 Bits pro Sekunde. (V9.0)
#BAUD_2400:
2400 Bits pro Sekunde.
#BAUD_4800:
4800 Bits pro Sekunde.
#BAUD_9600:
9600 Bits pro Sekunde. Dies ist die Voreinstellung.
#BAUD_19200:
19200 Bits pro Sekunde.
#BAUD_38400:
38400 Bits pro Sekunde.
#BAUD_57600:
57600 Bits pro Sekunde.
#BAUD_115200:
115200 Bits pro Sekunde.
#BAUD_460800:
460800 Bits pro Sekunde.

DataBits:
Die gewünschten Datenbits für die Verbindung. Dies kann auf eine der folgenden speziellen Konstanten gesetzt werden:

#DATA_5:
Verwendet 5 Datenbits.
#DATA_6:
Verwendet 6 Datenbits.
#DATA_7:
Verwendet 7 Datenbits.
#DATE_8:
Verwendet 8 Datenbits. Dies ist die Voreinstellung.

StopBits:
Die gewünschten Stoppbits für die Verbindung. Dies kann auf eine der folgenden speziellen Konstanten gesetzt werden:

#STOP_1:
Verwendet 1 Stoppbit. Dies ist die Voreinstellung.
#STOP_2:
Verwendet 2 Stoppbits.

Parity:
Der gewünschte Paritätsmodus. Dies kann auf eine der folgenden speziellen Konstanten gesetzt werden:

#PARITY_NONE:
Verwendet keine Paritätsbit. Dies ist die Voreinstellung.
#PARITY_EVEN:
Verwendet 1 Bit gerade Parität.
#PARITY_ODD:
Verwendet die 1 Bit ungerade Parität.

FlowControl:
Die gewünschte Art der Datenflusssteuerung (Protokoll), die verwendet werden soll. Dies kann auf eine der folgenden speziellen Konstanten gesetzt werden:

#FLOW_OFF:
Verwendet keine Datenflusssteuerung. Dies ist die Voreinstellung.
#FLOW_HARDWARE:
Verwendet die Hardware-Datenflusssteuerung CTS/RTS.
#FLOW_XON_XOFF:
Verwendet die Software-Datenflusssteuerung XON/XOFF-Handshaking.

RTS:
Der gewünschte Zustand des RTS-Pins. Beachten Sie, dass das manuelle Setzen des RTS-Pins nicht auf jeder Plattform unterstützt wird. Sofern unterstützt, kann eine der folgenden speziellen Konstanten festgelegt werden:

#RTS_ON:
Setzt das RTS-Pin.
#RTS_OFF:
Löscht das RTS-Pin.

DTR:
Der gewünschte Zustand des DTR-Pins. Beachten Sie, dass das manuelle Setzen des DTR-Pins nicht auf jeder Plattform unterstützt wird. Sofern unterstützt, kann eine der folgenden speziellen Konstanten festgelegt werden:

#DTR_ON:
Setzt das DTR-Pin.
#DTR_OFF:
Löscht das DTR-Pin.

Wie Sie oben sehen können, ist die von OpenSerialPort() verwendete Standardkonfiguration 9600/8-N-1, d.h. 9600 bps, 8 Datenbits, kein Paritätsbit, 1 Stoppbit. Dies ist die am häufigsten verwendete Konfiguration und sollte auf jeder Plattform funktionieren.

Eingaben
id
Identifikator für die neue serielle Verbindung oder Nil für die automatische ID-Zuweisung
portname$
die zu öffnende serielle Schnittstelle
table
optional: weitere Optionen (siehe oben)
Rückgabewerte
id
optional: Identifikator der seriellen Verbindung; Wird nur zurückgegeben werden, wenn Sie Nil als Argument 1 angegeben haben (siehe oben)
Beispiel
OpenSerialPort(1, "COM1")
WriteSerialData(1, "Hello World!")
CloseSerialPort(1)
Der obige Code öffnet die serielle Schnittstelle COM1 unter Windows und sendet die Zeichenfolge "Hello World!" an den Empfänger und schließt die serielle Schnittstellenverbindung. Beachten Sie, dass es keine Garantie gibt, dass alle 12 Bytes an die serielle Schnittstelle gesendet werden konnten. In Ihrem Code müssten Sie den Rückgabewert von WriteSerialData() überprüfen und ggf. erneut aufrufen, um die restlichen Bytes zu senden.

Navigation zeigen