Buenas noches a todos, pues estudiando un driver para hacer un proyecto he visto una instrucción que no se muy bien lo que hace, la instrucción es esta
data=data*9;
y pertenece a este programa
i2c_start();
i2c_write(0x90 | (address<<1));
i2c_write(0xaa);
i2c_start();
i2c_write(0x91 | (address<<1));
datah=i2c_read();
datal=i2c_read(0);
i2c_stop();
data=datah;
data=data*9;
if(bit_test(datal,7))
{
if(data < 0)
data -= 4;
else
data += 4;
}
data = (data / 5) + 32;
sé que el programa lo que hace es leer un valor por el protocolo i2c, guarda el primer byte, el byte más alto en la variable datah.
seguidamente guarda el valor de datah en data y ya el siguiente paso me pierdo.
Otra instrucción que no comprendo muy bien es la de
data-=4;
y
data+=4;
creo que estas sentencias lo que hacen es decrementar data e igualar a 4 pero no estoy nada seguro
Saludos