in data 05-28-2008 07:15 AM
in data 05-28-2008 07:55 AM
in data 05-28-2008 09:14 AM
05-28-2008 10:15 AM - modificato 05-28-2008 10:20 AM
Puoi trasmettere anche un array, basta che all'arrivo passi il tipo appropriato nel parametro type dell'unflatten from string (nel caso di un array puoi passare un array constant con dentro un numeric del tipo appropriato): dall'unflatten from string esce direttamente l'array dei dati che hai trasmesso.
Piuttosto se hai problemi di tempo dovresti evitare di aprire e chiudere la seriale ogni volta (compreso il ritardo di 500 ms che hai inserito...) e invece inserire un while che fa solo la lettura periodica della seriale e interpreta i dati se ce ne sono.
in data 05-28-2008 12:17 PM
in data 05-29-2008 02:31 AM
Non so come hai modificato i tuoi vi dopo i miei suggerimenti, però tieni conto che:
1. Se nel flatten usi il formato big endian lo devi usare anche nell'unflatten (nel vi che hai allegato usi il little endian)
2. Passa il corretto tipo dati all'unflatten come ti ho detto nella seconda risposta in modo da ricevere in uscita direttamente l'array di valori, senza bisogno di spezzare la stringa e elaborare i singoli elementi (tieni conto che la stringa potrebbe avere in testa informazioni sul numero di dati e sulla dimensione, che dovresti saltare nella scansione. Però tutto questo non è necessario: basta solo che i parametri della flatten e della unflatten siano identici)
in data 05-29-2008 09:50 AM
in data 05-29-2008 11:46 AM