GPIO_OutputMode Enumeration
Header: #include <applibs/gpio.h>
Die Optionen für den Ausgabemodus einer GPIO.
Der Ausgabewert einer GPIO wird von der GPIO_SetValue-Funktion festgelegt.
typedef enum {
GPIO_OutputMode_PushPull = 0,
GPIO_OutputMode_OpenDrain = 1,
GPIO_OutputMode_OpenSource = 2
} GPIO_OutputMode;
Werte
GPIO_OutputMode_PushPull
Konfiguriert den GPIO-Ausgabepin so, dass er den Aktuellen sinken lässt, wenn er niedrig gesteuert wird, und den Strom beim Hochfahren ausgibt. Das Verhalten wird in der folgenden Tabelle zusammengefasst:
GPIO-Ausgabewert | GPIO-Ausgabe gesteuert als |
---|---|
GPIO_Value_Low | Logikzustand 0, aktuelle Senke |
GPIO_Value_High | Logikzustand 1, aktuelle Quelle |
Verwenden Sie diesen Modus, wenn eine einzelne unidirektionale Schnittstelle, z. B. SPI oder UART, mit dem GPIO-Ausgabepin verbunden ist. In diesem Modus können nicht mehrere Geräte in einer Buskonfiguration miteinander verbunden werden.
GPIO_OutputMode_OpenDrain
Konfiguriert den GPIO-Ausgabepin so, dass der Strom sinkt, wenn er niedrig ist; es kann nicht als aktuelle Quelle verwendet werden. Das Verhalten wird in der folgenden Tabelle zusammengefasst:
GPIO-Ausgabewert | GPIO-Ausgabe gesteuert als |
---|---|
GPIO_Value_Low | Logikzustand 0, aktuelle Senke |
GPIO_Value_High | Hohe Impedanz (oder Logikzustand 1, mit externem Pull-Up-Widerstand) |
Verwenden Sie diesen Modus, wenn mehrere bidirektionale Schnittstellen, z. B. I2C, mit dem GPIO-Ausgabepin in einer Buskonfiguration verbunden sind. Wenn sich alle Ausgaben der verbundenen Schnittstellen in einem zustand mit hoher Impedanz befinden, kann der GPIO-Ausgabepin mit einem externen Pull-Up-Widerstand zu einer Logik 1 gesteuert werden. Jede der verbundenen Schnittstellen kann die Linie mithilfe der Open-Drain-Ausgabe zur Logik 0 ziehen.
GPIO_OutputMode_OpenSource
Konfiguriert den GPIO-Ausgabepin so, dass er stromquelle, wenn er hoch angetrieben wird; es kann nicht aktuell sinken. Das Verhalten wird in der folgenden Tabelle zusammengefasst:
GPIO-Ausgabewert | GPIO-Ausgabe gesteuert als |
---|---|
GPIO_Value_Low | Hohe Impedanz (oder Logikzustand 0, mit externem Pulldown-Widerstand) |
GPIO_Value_High | Logikzustand 1, aktuelle Quelle |
Es gibt keine bekannte Verwendung für diesen Modus, aber er ist für diejenigen verfügbar, die ihn verwenden möchten.