Was ist ein GPIO? Mikrocontroller-Grundlagen
-
2. June 2025
Was ist ein GPIO? Mikrocontroller-Grundlagen einfach erklärt
Ob Arduino, ESP32 oder STM32 – sie alle haben eines gemeinsam: GPIOs. Aber was bedeutet GPIO überhaupt?
Und wie nutzt man diese Pins sinnvoll?
GPIO – das steht für General Purpose Input/Output
Ein GPIO ist ein universell nutzbarer Ein-/Ausgangspin. Du kannst ihn softwareseitig als Eingang oder Ausgang konfigurieren – und damit Signale lesen oder steuern.
Typische Anwendungen:
Taster einlesen
LEDs oder Relais schalten
Sensoren oder Displays anschließen
Daten über I2C oder SPI austauschen
GPIOs machen Mikrocontroller interaktiv – sie verbinden deine Schaltung mit der Außenwelt.
GPIO als Eingang (Input)
Ein GPIO liest eine Spannung:
High (z. B. 3.3 V oder 5 V)
Low (0 V, also Masse)
Ein Taster kann den Eingang z. B. auf GND ziehen. Damit der Pegel bei offenem Taster stabil bleibt, brauchst du einen Pull-Up- oder Pull-Down-Widerstand.
Besonderheit beim STM32:
Viele Pins können als Interrupt-Eingänge genutzt werden. So reagiert der Mikrocontroller sofort auf Signaländerungen, statt ständig den Pin abzufragen (Polling).
Das spart Rechenleistung und Energie – z. B. bei Batteriebetrieb.
GPIO als Ausgang (Output)
Im Ausgangsmodus kannst du z. B. eine LED oder ein Relais schalten. Beispiel (Arduino):
pinMode(13, OUTPUT);
digitalWrite(13, HIGH); // LED an
Beachte: GPIOs sind oft nur für kleine Ströme ausgelegt (z. B. 20 mA bei Arduino). Für größere Lasten → Transistor oder MOSFET zwischenschalten!
Unterschiede zwischen Arduino, ESP32 und STM32
Feature | Arduino UNO | ESP32 | STM32 (z. B. Blue Pill) |
---|---|---|---|
Pegelspannung | 5 V | 3.3 V | meist 3.3 V |
Pull-Up intern | Ja | Ja | Ja |
Pull-Down intern | Nein | Teils | Ja |
PWM-Fähigkeit | Wenige Pins | Viele Pins, flexibel | Viele Pins, abhängig vom Timer |
Interrupts | Begrenzte Pins | Viele Pins möglich | Fast jeder Pin möglich |
Für den Beitrag zum Thema Pull Down Widerstände klicke Hier.
Für den Beitrag zum Thema Pull Up Widerstände klicke Hier.
GPIO für serielle Schnittstellen
GPIOs können oft umfunktioniert werden – z. B. für:
I2C (z. B. Sensoren, Displays)
SPI (schnelle Datenübertragung)
UART (Serielle Kommunikation)
PWM (für Dimmung, Motorsteuerung)
Beim STM32 ist die Pinbelegung oft sehr flexibel. Über sogenannte Alternate Functions kann ein GPIO-Pin viele verschiedene Funktionen übernehmen
Fazit
Ein GPIO ist das Fundament jedes Mikrocontroller-Projekts.
Ob LED, Taster, Sensor oder Display – GPIOs sind deine Verbindung zur Schaltung.
Je nach Plattform gibt es Unterschiede, aber das Grundprinzip bleibt gleich: Einfach, flexibel und mächtig.