Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 Sensor | ESP32 |
| SDA | SDA (default is GPIO 21) |
| SCL | SCL (default is GPIO 22) |
| GND | GND |
| VCC | 3.3V oder 5V |