C++ interpretazione

di il
6 risposte

C++ interpretazione

Ciao a tutti,qualcuno mi spiega una di queste righe (1 - 6)?
Da quello che ho capito fa uno shift di bit a sinistra or buffer[1]
*ax dovrebbe essere un puntatore. Ma mi è difficile interpretare queste righe.
Grazie.
void MPU6050::getMotion6(int16_t* ax, int16_t* ay, int16_t* az, int16_t* gx, int16_t* gy, int16_t* gz) {
    I2Cdev::readBytes(devAddr, MPU6050_RA_ACCEL_XOUT_H, 14, buffer);
   1 -  *ax = (((int16_t)buffer[0]) << 8) | buffer[1];
   2 -  *ay = (((int16_t)buffer[2]) << 8) | buffer[3];
   3 -  *az = (((int16_t)buffer[4]) << 8) | buffer[5];
   4  - *gx = (((int16_t)buffer[8]) << 8) | buffer[9];
   5 - *gy = (((int16_t)buffer[10]) << 8) | buffer[11];
   6 - *gz = (((int16_t)buffer[12]) << 8) | buffer[13];
}

6 Risposte

  • Re: C++ interpretazione

    Stai ricostruendo 6 interi a 16 bit partendo da un buffer di 14 byte (almeno), dove i byte in posizione pari sono gli 8 bit alti dell'intero (da 15 a 8 ), e i byte in posizione dispari, gli 8 bit bassi (da 7 a 0).
    Esatto, ax,... sono puntatori e *ax e' la cella puntata dal puntatore.

    Nota: sono stati saltati i byte 6 ed 7.
  • Re: C++ interpretazione

    Ciao e grazie per avermi risposto, ma da dove deduci che il buffer è da 12 bit?
    Bello complicato...
  • Re: C++ interpretazione

    chip_x ha scritto:


    Ciao e grazie per avermi risposto, ma da dove deduci che il buffer è da 12 bit?
    Bello complicato...
    Intanto sono 12 byte e non 12 bit e poi ho sbagliato, il buffer e' di 14 byte almeno.

    Non avevo visto che venivano saltati i byte 6 e 7.

    Banale: buffer[13] non sarebbe corretto se il buffer fosse piu' corto.
  • Re: C++ interpretazione

    chip_x ha scritto:


    Bello complicato...
    Punti di vista ... a me sembra codice banale ...
  • Re: C++ interpretazione

    Ciao, bè, banale sei sei bravo io sono un principiante e queste cose per sono difficili,per il momento.
  • Re: C++ interpretazione

    Infatti ti ho detto "punti di vista"...
Devi accedere o registrarti per scrivere nel forum
6 risposte