Sto cercando di implementare un master Modbus su Windows 10 IoT su un Raspberry Pi 2. sto usando uno esterno adattatore da USB a RS-232 dal momento che il interna la porta seriale è riservata per il debug del kernel.Impossibile utilizzare SerialDevice.ReadTimeout in Windows 10 IoT
La porta seriale funziona. La mia domanda riguarda principalmente il timeout durante la lettura.
Ecco il mio codice:
// 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
Senza byte awailable all'ingresso porta RX di serie, mi aspetto il metodo LoadAsync per tornare a 0, un'attesa. Sfortunatamente, non ritorna mai. (OK, restituisce dopo 256 byte ricevuti, ma non è quello che voglio)
Poiché ModBus utilizza intensivamente i timeout, non sono sicuro di come implementarlo. Non sono nemmeno sicuro di poterlo fare ...
Qualcuno ha già utilizzato i timeout sulle porte seriali IoT di Windows 10?
Bene, chiaramente InputStreamOptions.Partial non funziona. Quindi tira i dadi e prova InputStreamOptions.ReadAhead e None next. –