data$, count = ReadSerialData(id, len[, timeout])
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.
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.