Utilizo las librerías del núcleo de Arduino en mi último proyecto (ATMega328P MCU)
Estoy tratando de hablar con un FXOS8700CQ a través de I2C. La lectura del registro 0x0D debería devolver 0xC7.
El método típico de la librería Arduino Wire,
Wire.beginTransmission(address);
Wire.write(subAddress);
Wire.endTransmission();
Wire.requestFrom(address, (uint8_t) 1);
uint8_t data = Wire.read();
da la siguiente respuesta incorrecta:
Usando una librería SoftI2C de fuera de la web obtengo la siguiente respuesta correcta:
- ¿Cuál es la diferencia que hace que uno funcione y el otro no?
- Estoy usando pull-ups de 10K, ¿son demasiado altos?