Was ist SPI?
SPI (Serial Peripheral Interface) ist ein synchrones serielles Kommunikationsprotokoll für die Verbindung von Mikrocontrollern mit Peripheriegeräten. Es ist schneller als I²C, braucht aber mehr Leitungen — dafür eignet es sich gut für Displays, SD-Karten und schnelle Sensoren.
SPI vs. I²C im Vergleich
Die vier SPI-Leitungen
- MOSI (Master Out Slave In) — Daten vom Mikrocontroller zum Gerät
- MISO (Master In Slave Out) — Daten vom Gerät zum Mikrocontroller
- SCK (Serial Clock) — Taktsignal vom Master
- CS / SS (Chip Select / Slave Select) — aktiviert das gewünschte Gerät
Hinweis
SPI am ESP32
Der ESP32 hat zwei Hardware-SPI-Busse (SPI2/HSPI und SPI3/VSPI) mit konfigurierbaren Pins:
#include <SPI.h>
// Standard VSPI-Pins am ESP32
// SCK: GPIO 18, MISO: GPIO 19, MOSI: GPIO 23, CS: GPIO 5
void setup() {
SPI.begin(); // Startet SPI mit Standard-Pins
}
void loop() {
// SPI-Kommunikation hier
} Typische SPI-Geräte im Maker-Bereich
- TFT-Displays (ILI9341, ST7789) — schnelle Grafiken brauchen SPI
- SD-Karten-Module — hohe Datenraten für Datei-Zugriff
- LoRa-Module (SX1278) — Weitverkehrs-Funk
- Flash-Speicher (W25Q32) — externe Speicherchips
- Thermocouple-Sensoren (MAX6675, MAX31855) — Hochtemperatur-Messung