So che questo problema è un po' di nicchia e che per analizzarlo occorre dell'hardware che ben pochi hanno, ma prima di scrivere al Bug Tracker vi sottopongo la questione.
Posto che in tutti i casi in analisi i parametri di apertura della seriale sono gli stessi, di recente ho usato una nuova interfaccia RS485-RS232 collegata via USB al computer e ho avuto una serie di problemi.
Normalmente l'acquisizione dei dati ( stringa da 16 byte) la faccio con questa routine (impiegata da altri e anche presentata come esempio in differenti casi):
Public Sub SerialPort1_Read()
Dim Rx As String
Sleep 0.020
Read #SerialPort1, Rx, Lof(SerialPort1)
End
Quello SLEEP 0.020 (20ms) è il tempo necessario al buffer per rienpirsi dei 16 byte dopo che il primo byte ha sollevato l'evento READ.
Altrimenti i 16 byte vengono ricevuti come due o più stringhe differenti.
Con la nuova interfaccia RS485-RS232 invece devo togliere lo SLEEP altrimenti i dati arrivano frammentati.
È chiaro che non è possibile doversi adattare ogni volta all'interfaccia!
Qualcuno a qualche spunto o idea?