SerialDevice.ReadTimeout kann in Windows 10 IoT nicht verwendet werden

Ich versuche, einen ModBus-Master unter Windows 10 IoT auf einem Raspberry Pi 2 zu implementieren. Ich verwende ein externesUSB auf RS-232 Adapter, da der interne serielle Port für das Kernel-Debugging reserviert ist.

Serial Port funktioniert. Meine Frage bezieht sich hauptsächlich auf eine Zeitüberschreitung beim Lesen.

Hier ist mein Code:

// Initialization
serialDevice.ReadTimeout = new TimeSpan(0, 0, 0, allowedTimeBetweenBytes);
serialDataReader.InputStreamOptions = InputStreamOptions.Partial;

// Reading
uint bytesRead = await serialDataReader.LoadAsync(MaxBufferSize); // 256
// Now use ReadBytes to get actual bytes

Da am RX-Eingang des seriellen Anschlusses keine Bytes verfügbar sind, erwarte ich, dass die LoadAsync-Methode nach dem Warten 0 zurückgibt. Leider kehrt es nie zurück. (Ok, es kommt zurück, nachdem 256 Bytes empfangen wurden, aber das ist nicht was ich will)

Da ModBus Timeouts intensiv nutzt, bin ich mir nicht sicher, wie ich sie implementieren soll. Ich bin mir nicht mal sicher, ob ich das schaffen könnte ...

Verwendet jemand bereits Zeitüberschreitungen an seriellen Windows 10 IoT-Anschlüssen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage