:ciao:
Dopo tanto tempo sto ristudiando un "mio" vecchio problema.
Quando ricevo dati dalla seriale, la cattura di un pacchetto di dati a 16byte risulta spezzata.
Sono giorni che sto cercando una soluzione e, anche se ho provato tutti gli esempi sulla piazza, il problema persiste.
Secondo me la chiave sta nel fatto che usando questa stringa per la lettura:
Read #SerialPort1, Rx, Lof(SerialPort1)
il valore Lof è sempre NULL. Durante la compilazione nel terminale appare infatti
(SerialPort:6907): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion 'g_utf8_validate (text, len, NULL)' failed
Dalla definizione di LoF:
"Se lo stream non è un file, ad esempio è un processo (Process) o una connessione (Socket), allora sarà restituito il numero di bytes che possono essere letti alla volta."
Mi immagino che sia il numero di byte memorizzati nel buffer (nel mio caso 16), quindi mi aspetterei un numero sicuramente diverso da 0.
Che cavolo sto sbagliando?
... e soprattutto che cosa vuol dire quel messaggio Gtk-CRITICAL... :rolleyes:
:ciao: :ciao: :ciao:
.. e se invece usi questa riga:
Read #SerialPort1, Rx, -256
cosa succede ?
Oltre a ciò, ricordi anche queste discussioni ?
http://www.gambas-it.org/smf/index.php?topic=2293
http://www.gambas-it.org/smf/index.php?topic=2311