Freigeben über


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.