Bezeichnung
ReadSerialData -- liest Daten von der serieller Schnittstelle (V8.0)
Übersicht
data$, count = ReadSerialData(id, len[, timeout])
Beschreibung
Dieser Befehl kann verwendet werden, um Datenbytes von der in id angegebenen seriellen Schnittstellenverbindung zu lesen. Die Verbindung der seriellen Schnittstelle muss zuvor mit OpenSerialPort() geöffnet worden sein. Darüber hinaus können Sie im Argument timeout eine Dauer in Millisekunden übergeben, um ein Zeitlimit für die Leseoperation festzulegen. Wenn der Parameter timeout angegeben ist, wird ReadSerialData() niemals länger als die angegebene Dauer blockieren. Andernfalls wird es ewig auf die Daten warten.

ReadSerialData() gibt die von der seriellen Schnittstelle gelesenen Daten in data$ und die Länge der Daten in Byte in count zurück. Beachten Sie, dass diese Länge unter der in len angegebenen Länge liegen kann. Wenn ReadSerialData() weniger Bytes zurückgibt, als Sie in len angefordert haben, müssen Sie ReadSerialData() immer wieder aufrufen, bis Sie alle benötigten Daten erhalten haben.

Beachten Sie, dass der in count zurückgegebene Wert immer der ByteLen() für data$ entspricht. Der einzige Grund für den Rückgabewert von count ist eine Leistungssteigerung, da Sie auf diese Weise nicht ByteLen() aufrufen müssen, um die Länge von data$ zu berechnen.

Verwenden Sie den Befehl PollSerialQueue(), um die Anzahl der im Lesepuffer befindlichen Bytes abzufragen. Siehe PollSerialQueue für Details.

Eingaben
id
Identifikator der seriellen Schnittstellenverbindung
len
Anzahl der Bytes, die von der seriellen Schnittstelle gelesen werden sollen
timeout
optional: Anzahl der Millisekunden, nach denen die Operation abgebrochen werden soll (Standardeinstellung ist 0, d.h. es wird solange blockiert, bis Daten ankommen)
Rückgabewerte
data$
die Daten, welche von der seriellen Schnittstelle gelesen werden
count
Anzahl der von der seriellen Schnittstelle gelesenen Bytes
Beispiel
OpenSerialPort(1, "COM1")
Print(ReadSerialData(1, 256))
Der obige Code wartet immer auf die Daten vom seriellen Port. Sobald Daten ankommen, werden sie Ausgegeben. Dies kann weniger als 256 Byte sein. Das einzige, was garantiert ist, ist, dass es niemals mehr als 256 Bytes sein wird.

Navigation zeigen