Sdílet prostřednictvím


GPIO_OutputMode – výčet

Hlavička: #include <applibs/gpio.h>

Možnosti pro výstupní režim GPIO.

Výstupní hodnota GPIO je nastavena funkcí GPIO_SetValue.

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

Hodnoty

GPIO_OutputMode_PushPull

Nakonfiguruje výstupní kolík GPIO tak, aby při jízdě na nízké úrovni propadl proud a při jízdě vysoko. Chování je shrnuto v následující tabulce:

Hodnota výstupu GPIO Výstup GPIO řízený jako
GPIO_Value_Low Logický stav 0, aktuální jímka
GPIO_Value_High Logický stav 1, aktuální zdroj

Tento režim použijte, pokud je k výstupnímu kolíku GPIO připojeno jednosměrové rozhraní, například SPI nebo UART. Tento režim neumožňuje propojení více zařízení v konfiguraci sběrnice.

GPIO_OutputMode_OpenDrain

Konfiguruje výstupní kolík GPIO tak, aby při jízdě na nízkém výkonu propadl proud; nemůže zdroj proudu. Chování je shrnuto v následující tabulce:

Hodnota výstupu GPIO Výstup GPIO řízený jako
GPIO_Value_Low Logický stav 0, aktuální jímka
GPIO_Value_High Vysoká impedance (nebo logický stav 1 s externím rezistorem pull-up)

Tento režim použijte, pokud je k výstupnímu kolíku GPIO v konfiguraci sběrnice připojeno více obousměrných rozhraní, například I2C. Pokud jsou všechny výstupy připojených rozhraní ve stavu s vysokou impedancí, lze výstupní kolík GPIO navést na logiku 1 pomocí externího pull-up rezistoru. Jakékoli z připojených rozhraní může přetáhnout čáru do logiky 0 pomocí výstupu s otevřeným vyprázdněním.

GPIO_OutputMode_OpenSource

Nakonfiguruje výstupní kolík GPIO tak, aby při vysoké jízdě nabíjel proud. nelze jím propadnout proudem. Chování je shrnuto v následující tabulce:

Hodnota výstupu GPIO Výstup GPIO řízený jako
GPIO_Value_Low Vysoká impedance (nebo logický stav 0 s externím rezistorem pro stažení)
GPIO_Value_High Logický stav 1, aktuální zdroj

Pro tento režim neexistuje žádné známé použití, ale je k dispozici pro ty, kteří ho chtějí používat.