17.04.2006, 11:43
der timeout ist in Verbindung mt der Anzahl der zu lesenden Bytes zu sehen und heisst ungefähr so viel wie: lese innerhalb von Z Sekunden X Bytes ein. Wenn X Bytes innerhalb von Z Sekunden eingetroffen sind, dann ist alles ok. Wenn innerhalb des Timeouts nicht alle Bytes eingetroffen sind, dann gib einen Fehler aus.
Normalerweise nutzt man bei RS232 immer den Puffer, sprich, man guckt nach (mit der entsprechenden Property Node, wie in meinem Beispiel ...) wieviel Bytes gerade im Puffer sind und liest dann genau so viele Bytes aus, wie im Puffer vorhanden sind - darum hab ich mein Beispiel gleich für den asynchronen Empfang von Daten geschrieben, es ist durchaus denkbar und möglich, dass man erstmal unvollständige Daten erhält und die dann zwischenspeichern und parsen muss ...
Normalerweise nutzt man bei RS232 immer den Puffer, sprich, man guckt nach (mit der entsprechenden Property Node, wie in meinem Beispiel ...) wieviel Bytes gerade im Puffer sind und liest dann genau so viele Bytes aus, wie im Puffer vorhanden sind - darum hab ich mein Beispiel gleich für den asynchronen Empfang von Daten geschrieben, es ist durchaus denkbar und möglich, dass man erstmal unvollständige Daten erhält und die dann zwischenspeichern und parsen muss ...