En java tengo el código
public void readAccel()
{
int l, h;
l = i2c.read(0x28);
h = i2c.read(0x29);
int x = ((h) << 8) | (l);
System.out.println(x);
}
en java. El acelerómetro que he conectado funciona y se comunica a través de i2c, el problema es que el número de complemento de los dos que se genera solo parece funcionar en una dirección; cuando giro el dispositivo hacia un lado, la escala de valores de 0-256, pero más allá de cero, el valor salta a 4096-3840. ¿Qué estoy haciendo mal?