i float in c#, ma credo nel 90% dei linguaggi, sono da 4byte altrimenti usi il double (single precision, e double precision).
Sulla rappresentazione binaria hai ragione in quanto mi cambia l'ordine ma comunque ora sono riuscito a recuperare il dato.
Tra String e Char[] non vedo differenze sinceramente, probabilmente ci sono ma io non le noto (ovvio i metodi per trattarli sn diversi, ma neanche troppo). Comunque su arduino li gestisce in automatico con la print e sul pc la differenza di potenza è sufficiente a non creare problemi nel trattamento del dato.
I dati variano di moltissimo, si parla di valori tipo +/-1000,0353546 e altri 0,0000075; il fatto è che per varie ragioni in taluni casi mi serve possibilmente anche l'ultimo decimale, in altri no ma non è possibile saperlo a priori.
Ad esempio un cambio di valore repentino da -0,0000075 a +900,555555 non mi fa grossa differenza quel 5 periodico che ho scritto ma nel caso di mantenimento mi interessa sapere fino al più piccolo decimale possibile.(I dati prendeteli con le pinze non ho fatto copia e incolla ma la variazione è davvero estrema)
Utilizzando le stringhe ho ottenuto un errore di circa il 10% sulle misurazioni fatte; per i miei scopi è davvero tanto, dovrei stare intorno allo 0,1% o meglio 0,01%.Per questo motivo e per la frequenza che sto cercando di passare ai float anche se faticando .
Tra String e Char[] non vedo differenze sinceramente, probabilmente ci sono ma io non le noto (ovvio i metodi per trattarli sn diversi, ma neanche troppo). Comunque su arduino li gestisce in automatico con la print e sul pc la differenza di potenza è sufficiente a non creare problemi nel trattamento del dato.
Fino ad ora ho notato che ciò che pago in tempo lo pago su arduino, e ignorando un minimo di trattamento di dati fatto su arduino (che sposterò su server) i problemi sono 2:
La quantità di byte, e i cast.
Io genero dati in float, qundi se li mando su write ho minimo numero di byte e 1 modifica sui dati ma neanche troppo vera per via di come è rappresentato un float.
Nel caso della stringa devo effettivamente (e già lo faccio) moltiplicarli per 10000 devo fare almeno un cast e poi vengono in automatico castati a char e inviati su su serial tramite print.
Ho ancora una perplessità su tutto questo discorso ma prima la devo verificare poi se no la risolvo proverò ad esprimerla.
Se qualcuno sa dirmi qualcosa del baudrate di 230400 e l'hc-05 sono tutto orecchi ( modulo difettato o sono tutti così?)