Hardwarenahe Programmierung

You are viewing an older revision! See the latest version

ESP32 I2C Bus Interface

Der ESP32 unterstützt die I2C-Kommunikation über seine zwei I2C-Busschnittstellen, die je nach Konfiguration des Benutzers als I2C-Master oder -Slave dienen können. Entsprechend dem ESP32-Datenblatt unterstützen die I2C-Schnittstellen des ESP32:

  • Standardmodus (100 Kbit / s)
  • Schneller Modus (400 Kbit / s)
  • Bis zu 5 MHz, jedoch eingeschränkt durch die SDA-Pull-up-Stärke
  • 7-Bit / 10-Bit Adressierungsmodus
  • Dualer Adressierungsmodus. Benutzer können Befehlsregister zur Steuerung von I²C-Schnittstellen programmieren, um mehr Flexibilität zu erhalten

Das I2C-Kommunikationsprotokoll verwendet zwei Drähte, um Informationen auszutauschen. Eine wird für das Taktsignal (SCL) und die andere zum Senden und Empfangen von Daten (SDA) verwendet. Die SDA- und SCL-Leitungen sind aktiv low, daher sollten sie mit Widerständen hochgezogen werden, die aber meist schon eingebaut sind. Die Default- Pin sind wie folgt, wobei auch andere Pins verwendet werden können:

I2C SensorESP32
SDASDA (default is GPIO 21)
SCLSCL (default is GPIO 22)
GNDGND
VCC3.3V oder 5V

All wikipages