es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La biblioteca Wire produce errores como “i2c_t no es un tipo”.

Estoy desarrollando una aplicación con ESP32 que utiliza la librería Wire.h. Sin embargo, estoy obteniendo un error que indica que i2c_t no es un nombre de tipo. A continuación se muestra el código fuente y la salida del código de error. ¿Cómo puedo solucionar este problema?


#include <wire.h> #include <temperaturelm75derived.h> TI_TMP100 myTmp100; void initTmp100() { Wire.begin(); // errores en esta parte myTmp100.setResolution(myTmp100.Resolution12bits); // errores también en esta parte }

El mismo proyecto funciona con platformio con la misma placa (DOIT ESP32 DEVKIT V1).

A continuación se muestra parte de la salida del código de error:

“`
Wire.cpp:32: In file included from

Wire.h: 44:5: error: ‘i2c_t’ does not name a type; did you mean ‘int’?
i2c_t * i2c
^~~~~
int

Wire.h: 64:5: error: ‘i2c_errt’ does not name a type; did you mean ‘esp_errt’?
i2c_errt lasterror; \ @stickBreaker from esp32-hal-i2c.h
^~~~~~~~~
esp_err_t

Wire.h: 87:5: error: ‘i2c_errt’ does not name a type; did you mean ‘esp_errt’?
i2c_errt writeTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true)
^~~~~~~~~
esp_err_t
“`</temperaturelm75derived.h></wire.h>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error se debe al hecho de que la biblioteca Wire no reconoce el tipo i2c_t. Esto podría ser un problema con la versión de la biblioteca Wire.h que se está utilizando.

    Para resolver este problema, intenta actualizar la biblioteca Wire a la última versión. Esto se puede hacer yendo al Administrador de bibliotecas en el Arduino IDE o actualizando el archivo platformio.ini en PlatformIO.

    Si la actualización de la biblioteca no resuelve el problema, es posible que debas verificar la compatibilidad de la biblioteca con la placa ESP32 que se está utilizando. También es posible que haya un conflicto con otras bibliotecas que se están utilizando en el proyecto. En este caso, intenta eliminar cualquier biblioteca innecesaria y verifica si el problema persiste.

Comments are closed.