Udostępnij za pośrednictwem


GPIO_OutputMode Enum

Nagłówek: #include <applibs/gpio.h>

Opcje trybu wyjściowego obiektu GPIO.

Wartość wyjściowa obiektu ZASAD GRUPY jest ustawiana przez funkcję GPIO_SetValue.

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

Wartości

GPIO_OutputMode_PushPull

Konfiguruje pinezkę wyjściową gpio, tak aby pogrążała ona prąd po ustawieniu niskiego poziomu i źródła prądu przy wysokim poziomie napędu. Zachowanie jest podsumowywane w poniższej tabeli:

Wartość wyjściowa GPIO Dane wyjściowe GPIO są kierowane jako
GPIO_Value_Low Stan logiczny 0, bieżący umywalka
GPIO_Value_High Stan logiczny 1, bieżące źródło

Tego trybu należy używać, gdy jeden interfejs jednokierunkowy, taki jak SPI lub UART, jest połączony ze pinezką wyjściową GPIO. Ten tryb nie pozwala na połączenie wielu urządzeń w konfiguracji magistrali.

GPIO_OutputMode_OpenDrain

Konfiguruje pin wyjściowy gpio tak, że zatapia prąd, gdy jest niski; nie może pozyskić bieżącego. Zachowanie jest podsumowywane w poniższej tabeli:

Wartość wyjściowa GPIO Dane wyjściowe GPIO są kierowane jako
GPIO_Value_Low Stan logiczny 0, bieżący umywalka
GPIO_Value_High Wysoka impedancja (lub stan logiczny 1, z zewnętrznym rezystorem podciąganym)

Tego trybu należy używać, gdy wiele interfejsów dwukierunkowych, takich jak I2C, jest połączonych z numerem PIN wyjścia GPIO w konfiguracji magistrali. Gdy wszystkie wyjścia z połączonych interfejsów są w stanie wysokiej impedancji, gpio wyjścia pin może być napędzany do logiki 1 z zewnętrznym rezystorem pull-up. Każdy z połączonych interfejsów może wyciągnąć linię do logiki 0 przy użyciu danych wyjściowych open-drain.

GPIO_OutputMode_OpenSource

Konfiguruje pin wyjściowy gpio w taki, że źródła bieżącego po wysokiej napędzany; nie może zatonać prądu. Zachowanie jest podsumowywane w poniższej tabeli:

Wartość wyjściowa GPIO Dane wyjściowe GPIO są kierowane jako
GPIO_Value_Low Wysoka impedancja (lub stan logiczny 0, z zewnętrznym rezystorem ściąganym)
GPIO_Value_High Stan logiczny 1, bieżące źródło

Nie ma dobrze znanego zastosowania dla tego trybu, ale jest on dostępny dla tych, którzy chcą z niego korzystać.