Dela via


GPIO_OutputMode Uppräkning

Sidhuvud: #include <applibs/gpio.h>

Alternativen för utdataläget för en GPIO.

Utdatavärdet för en GPIO anges av funktionen GPIO_SetValue.

typedef enum {
    GPIO_OutputMode_PushPull = 0,
    GPIO_OutputMode_OpenDrain = 1,
    GPIO_OutputMode_OpenSource = 2
} GPIO_OutputMode;

Värden

GPIO_OutputMode_PushPull

Konfigurerar GPIO-utdatanålen så att den sjunker ström när den är låg och källor aktuella när den körs högt. Beteendet sammanfattas i följande tabell:

GPIO-utdatavärde GPIO-utdata drivet som
GPIO_Value_Low Logiktillstånd 0, aktuell mottagare
GPIO_Value_High Logiktillstånd 1, aktuell källa

Använd det här läget när ett envägsgränssnitt, till exempel SPI eller UART, är anslutet till GPIO-utdatanålen. Det här läget tillåter inte att flera enheter ansluts tillsammans i en busskonfiguration.

GPIO_OutputMode_OpenDrain

Konfigurerar GPIO-utdatanålen så att den sänker strömmen när den är låg. den kan inte hämta den aktuella källan. Beteendet sammanfattas i följande tabell:

GPIO-utdatavärde GPIO-utdata drivet som
GPIO_Value_Low Logiktillstånd 0, aktuell mottagare
GPIO_Value_High Hög impedans (eller logikläge 1, med extern resistor för pull-up)

Använd det här läget när flera dubbelriktade gränssnitt, till exempel I2C, är anslutna till GPIO-utdatanålen i en busskonfiguration. När alla utgångar i de anslutna gränssnitten är i ett tillstånd med hög impedans kan GPIO-utdatanålen köras till en logik 1 med en extern pull-up resistor. Någon av de anslutna gränssnitten kan dra linjen till logik 0 med hjälp av dess open-drain utgång.

GPIO_OutputMode_OpenSource

Konfigurerar GPIO-utdatanålen så att den hämtar ström när den körs högt. det kan inte sjunka ström. Beteendet sammanfattas i följande tabell:

GPIO-utdatavärde GPIO-utdata drivet som
GPIO_Value_Low Hög impedans (eller logikläge 0, med extern resistor för nedrullning)
GPIO_Value_High Logiktillstånd 1, aktuell källa

Det finns ingen välkänd användning för det här läget, men det är tillgängligt för dem som vill använda det.