Ciao a tutti! mi sono bloccato in una cosa banalissima. Sto leggendo dei valori da un modulo MPU6050 e secondo il data sheet dovrei dividere i valori dell'accellerometro per 16384 in quanto sono nella scala +-2g.
I dati dell'accellerometro li salvo in variabili così dichiarate:
int16_t X Y Z
Poi per fare la divisione faccio
Xg = X/16384 essendo Xg una variabile float
Il problema è che anche muovendo il modulo i risultato è sempre 0.00 per ogni variabile... qual'è il problema? Grazie in anticipo
... il problema è che ... bisogna studiare il 'C'
Se dividi un intero per un numero intero ... come pensi sarà il risultato che DOPO verrà messo nella variabile float ?
Prova a correggere così: Xg = (float)X / 16384.0; e vedi che risultato ti da.
Guglielmo