{"id":1678,"date":"2026-03-12T21:28:21","date_gmt":"2026-03-12T21:28:21","guid":{"rendered":"https:\/\/www.pickplace.de\/?post_type=glossary&#038;p=1678"},"modified":"2026-03-12T21:28:58","modified_gmt":"2026-03-12T21:28:58","slug":"gpio","status":"publish","type":"glossary","link":"https:\/\/www.pickplace.de\/en\/glossar\/gpio\/","title":{"rendered":"GPIO"},"content":{"rendered":"<p><strong>GPIO (General Purpose Input\/Output)<\/strong> bezeichnet frei programmierbare digitale Ein- und Ausg&#xE4;nge eines integrierten Schaltkreises, beispielsweise eines Mikrocontrollers, Mikroprozessors oder SoC. Diese Pins besitzen zun&#xE4;chst keine fest definierte Funktion und k&#xF6;nnen per Software konfiguriert werden. Dadurch lassen sich unterschiedliche externe Signale erfassen oder elektronische Komponenten direkt ansteuern.<\/p>\n\n\n\n<p>GPIO-Pins stellen eine grundlegende Schnittstelle zwischen der digitalen Logik eines Prozessors und der Au&#xDF;enwelt dar. &#xDC;ber sie k&#xF6;nnen Sensoren, Schalter oder Kommunikationsleitungen angeschlossen werden. Gleichzeitig lassen sich &#xFC;ber GPIO-Ausg&#xE4;nge beispielsweise LEDs, Relais, Treiber oder andere elektronische Baugruppen steuern.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Inhalt<\/h2><nav><ul><li class=\"\"><a href=\"#funktionsprinzip\">Funktionsprinzip<\/a><\/li><li class=\"\"><a href=\"#programmierung-von-gpio-pins\">Programmierung von GPIO-Pins<\/a><\/li><li class=\"\"><a href=\"#typische-anwendungen\">Typische Anwendungen<\/a><ul><li class=\"\"><a href=\"#nterrupts-bei-gpio\">Interrupts bei GPIO<\/a><\/li><\/ul><\/li><li class=\"\"><a href=\"#bedeutung-fur-embedded-systeme\">Fazit<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"funktionsprinzip\">Funktionsprinzip<\/h2>\n\n\n\n<p>Ein GPIO-Pin kann typischerweise in zwei grundlegenden Betriebsarten verwendet werden:<\/p>\n\n\n\n<p><strong>Input (Eingang)<\/strong>: Der <a class=\"glossaryLink\"  aria-describedby=\"tt\"  data-cmtooltip=\"cmtt_d983cf127120ee60c83537d13641bc54\"  href=\"https:\/\/www.pickplace.de\/en\/glossar\/mikrocontroller\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>Mikrocontroller<\/a> liest den logischen Zustand eines externen Signals ein. H&auml;ufig wird dabei zwischen zwei Zust&auml;nden unterschieden: <strong>High<\/strong> und <strong>Low<\/strong>.<\/p>\n\n\n\n<p><strong>Output (Ausgang)<\/strong>: Der <a class=\"glossaryLink\"  aria-describedby=\"tt\"  data-cmtooltip=\"cmtt_d983cf127120ee60c83537d13641bc54\"  href=\"https:\/\/www.pickplace.de\/en\/glossar\/mikrocontroller\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>Mikrocontroller<\/a> setzt aktiv einen logischen Pegel an einem Pin und steuert damit externe Komponenten.<\/p>\n\n\n\n<p>Pins sind meist zu Ports zusammengefasst. Ein Port besteht aus mehreren Pins, die gemeinsam &#xFC;ber ein Register angesprochen werden k&#xF6;nnen. Dadurch lassen sich mehrere Signale gleichzeitig lesen oder schreiben.<\/p>\n\n\n\n<p>Um ein Port zu lesen oder zu schreiben m&#xFC;ssen die Register, je nach Busweite 32 oder 64 Bit, mit bitweiser Arithmetik gelesen oder geschrieben werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"programmierung-von-gpio-pins\">Programmierung von GPIO-Pins<\/h2>\n\n\n\n<p>Die Konfiguration und Steuerung von GPIO-Pins erfolgt &#xFC;ber Hardware-Register des Mikrocontrollers. Diese Register befinden sich im Speicherbereich des Controllers und k&#xF6;nnen direkt durch Software beschrieben werden. Viele Mikrocontroller-Hersteller haben definierte Software-Stacks f&#xFC;r GPIO-Routinen. Gerade im Aerospace- oder Bahn-Kontext ist es absolut &#xFC;blich <a href=\"https:\/\/www.pickplace.de\/treiber-und-low-level-software\/\" data-type=\"page\" data-id=\"1255\">Treiber und Low-Level-Software<\/a> f&#xFC;r Peripherie wie GPIOs selbst zu schreiben.<\/p>\n\n\n\n<p>Ein wichtiges Register ist das GPIO Mode Register. Dieses Register legt fest, in welchem Betriebsmodus sich ein Pin befindet. Das Register ist typischerweise 32 Bit breit, wobei f&#xFC;r jeden Pin zwei Bits reserviert sind.<\/p>\n\n\n\n<p>Die m&#xF6;glichen Betriebsmodi sind h&#xE4;ufig:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Input Mode<\/strong><br>Der Pin arbeitet als digitaler Eingang.<\/li>\n\n\n\n<li><strong>General Purpose Output Mode<\/strong><br>Der Pin wird als digitaler Ausgang verwendet.<\/li>\n\n\n\n<li><strong>Alternate Function Mode<\/strong><br>Der Pin &#xFC;bernimmt eine spezielle Hardwarefunktion, beispielsweise f&#xFC;r <strong>UART, SPI, I&#xB2;C oder Timer<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-stackable-image stk-block-image stk-block stk-26cb9cc\" data-block-id=\"26cb9cc\"><style>.stk-26cb9cc .stk-img-figcaption{text-align:center !important;}<\/style><figure><span class=\"stk-img-wrapper stk-image--shape-stretch\"><img loading=\"lazy\" decoding=\"async\" class=\"stk-img wp-image-1679\" src=\"https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-2.png\" width=\"800\" height=\"181\" alt=\"GPIO-Port MODER Register-Aufbau: 32 Felder MODER15&#x2013;0, je 2 Bitfelder (rw). Beispiel f&#xFC;r embedded hardware\/Elektronik.\" srcset=\"https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-2.png 800w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-2-300x68.png 300w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-2-768x174.png 768w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-2-18x4.png 18w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"\/><\/span><figcaption class=\"stk-img-figcaption\">GPIO Mode Register aus einem <a href=\"https:\/\/www.st.com\/en\/microcontrollers-microprocessors\/stm32-32-bit-arm-cortex-mcus.html\" target=\"_blank\" rel=\"noopener\"><a class=\"glossaryLink\"  aria-describedby=\"tt\"  data-cmtooltip=\"cmtt_4660d7339b251b6d0814706b71d728d0\"  href=\"https:\/\/www.pickplace.de\/en\/glossar\/stm32\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>STM32<\/a><\/a>-Datenblatt<\/figcaption><\/figure><\/div>\n\n\n\n<p>Letztere Punkt bedeutet, dass wenn eine Peripherie-Funktion erfordert wird, bei den meisten Mikrocontrollern der GPIO ebenfalls initialisiert werden muss (Portclock und Mode Register).<\/p>\n\n\n\n<p>F&#xFC;r den Falle Output wird dann &#xFC;ber das GPIO Output Data Register der Wert gesetzt. &#xDC;ber dieses Register wird der Ausgangszustand eines Pins gesteuert. Wird ein Bit gesetzt oder gel&#xF6;scht, &#xE4;ndert sich entsprechend der logische Pegel am zugeh&#xF6;rigen GPIO-Pin.<\/p>\n\n\n\n<div class=\"wp-block-stackable-image stk-block-image stk-block stk-435004d\" data-block-id=\"435004d\"><style>.stk-435004d .stk-img-figcaption{text-align:center !important;}<\/style><figure><span class=\"stk-img-wrapper stk-image--shape-stretch\"><img loading=\"lazy\" decoding=\"async\" class=\"stk-img wp-image-1680\" src=\"https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-3.png\" width=\"793\" height=\"199\" alt=\"Schema eines ODR-Registersets im embedded hardware-Kontext: rw-Felder, Reserve-Bereich, Adressoffset 0x14.\" srcset=\"https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-3.png 793w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-3-300x75.png 300w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-3-768x193.png 768w, https:\/\/www.pickplace.de\/wp-content\/uploads\/2026\/03\/image-3-18x5.png 18w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\"\/><\/span><figcaption class=\"stk-img-figcaption\">GPIO Output Data Register<\/figcaption><\/figure><\/div>\n\n\n\n<p>In vielen Mikrocontrollern existieren zus&#xE4;tzlich weitere Register f&#xFC;r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pull-up \/ Pull-down-Konfiguration<\/li>\n\n\n\n<li>Ausgangsgeschwindigkeit<\/li>\n\n\n\n<li>Open-Drain oder Push-Pull-Ausgangsmodi<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"typische-anwendungen\">Typische Anwendungen<\/h2>\n\n\n\n<p>GPIO-Pins werden in Embedded-Systemen f&#xFC;r zahlreiche Aufgaben verwendet, zum Beispiel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Einlesen von Tastern oder Schaltern<\/li>\n\n\n\n<li>Ansteuerung von LEDs<\/li>\n\n\n\n<li>Steuerung von Relais oder Motoren<\/li>\n\n\n\n<li>Kommunikation mit einfachen Peripherieger&#xE4;ten<\/li>\n<\/ul>\n\n\n\n<p>Dar&#xFC;ber hinaus k&#xF6;nnen GPIO-Pins verwendet werden, um Kommunikationsprotokolle rein softwarebasiert zu implementieren. Verfahren wie I&#xB2;C oder SPI lassen sich beispielsweise &#xFC;ber sogenannte Bit-Banging-Techniken realisieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"nterrupts-bei-gpio\">Interrupts bei GPIO<\/h3>\n\n\n\n<p>Eine der wichtigsten Funktionen von <strong>GPIO-Pins<\/strong> ist die M&#xF6;glichkeit, <strong>Interrupts<\/strong> auszul&ouml;sen. Dabei reagiert der <a class=\"glossaryLink\"  aria-describedby=\"tt\"  data-cmtooltip=\"cmtt_d983cf127120ee60c83537d13641bc54\"  href=\"https:\/\/www.pickplace.de\/en\/glossar\/mikrocontroller\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>Mikrocontroller<\/a> unmittelbar auf ein externes Ereignis an einem GPIO-Pin, ohne dass die Software den Pin kontinuierlich abfragen muss.<\/p>\n\n\n\n<p>Prinzipiell k&#xF6;nnte ein Programm den Zustand eines GPIO-Pins regelm&#xE4;&#xDF;ig pr&#xFC;fen (sogenanntes Polling). Das jedoch frisst Runtime, da der Prozessor permanent Ressourcen aufwenden muss, um den Pin zu &#xFC;berwachen. Mit Interrupts kann stattdessen ein Ereignis &#x2013; beispielsweise ein Signalwechsel an einem Pin &#x2013; automatisch eine Interrupt-Service-Routine (ISR) ausl&#xF6;sen.<\/p>\n\n\n\n<p>Wird ein solches Ereignis erkannt, unterbricht der <a class=\"glossaryLink\"  aria-describedby=\"tt\"  data-cmtooltip=\"cmtt_d983cf127120ee60c83537d13641bc54\"  href=\"https:\/\/www.pickplace.de\/en\/glossar\/mikrocontroller\/\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>Mikrocontroller<\/a> kurz die aktuelle Programmausf&uuml;hrung und springt zur zugeh&ouml;rigen Interrupt-Routine. Dort kann das Ereignis verarbeitet werden, etwa das Einlesen eines Tasters, das Starten einer Messung oder das Reagieren auf ein externes Signal. <\/p>\n\n\n\n<p>Gerade in Embedded Systems sind GPIO-Interrupts von gro&#xDF;er Bedeutung, da sie eine ereignisgesteuerte Programmierung erm&#xF6;glichen. Dadurch kann der Prozessor energieeffizient arbeiten und gleichzeitig sehr schnell auf externe Ereignisse reagieren. Interrupts werden daher h&#xE4;ufig f&#xFC;r zeitkritische Signale, Benutzerinteraktionen oder externe Kommunikationsschnittstellen eingesetzt. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bedeutung-fur-embedded-systeme\">Fazit<\/h2>\n\n\n\n<p>GPIOs geh&#xF6;ren zu den wichtigsten Schnittstellen eines Mikrocontrollers. Sie erm&#xF6;glichen eine flexible Verbindung zwischen digitaler Logik und externer Hardware. Durch ihre programmierbare Konfiguration k&#xF6;nnen sie in unterschiedlichsten Anwendungen eingesetzt werden und bilden damit eine grundlegende Komponente vieler Embedded-Systeme.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GPIO (General Purpose Input\/Output) bezeichnet frei programmierbare digitale Ein- und Ausg\u00e4nge eines integrierten Schaltkreises, beispielsweise eines Mikrocontrollers, Mikroprozessors oder SoC. Diese Pins besitzen zun\u00e4chst keine fest definierte Funktion und k\u00f6nnen per Software konfiguriert werden. Dadurch lassen sich unterschiedliche externe Signale erfassen oder elektronische Komponenten direkt ansteuern. GPIO-Pins stellen eine grundlegende Schnittstelle zwischen der digitalen Logik [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"footnotes":""},"class_list":["post-1678","glossary","type-glossary","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/glossary\/1678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":2,"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/glossary\/1678\/revisions"}],"predecessor-version":[{"id":1682,"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/glossary\/1678\/revisions\/1682"}],"wp:attachment":[{"href":"https:\/\/www.pickplace.de\/en\/wp-json\/wp\/v2\/media?parent=1678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}