Delen via


GPIO_OutputMode Enum

Header: #include <applibs/gpio.h>

De opties voor de uitvoermodus van een GPIO.

De uitvoerwaarde van een GPIO wordt ingesteld door de functie GPIO_SetValue .

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

Waarden

GPIO_OutputMode_PushPull

Configureert de GPIO-uitvoerpin zodanig dat deze de huidige waarde zinkt wanneer deze laag wordt gestuurd en de bronstroom wanneer deze hoog wordt aangedreven. Het gedrag wordt samengevat in de volgende tabel:

GPIO-uitvoerwaarde GPIO-uitvoer aangestuurd als
GPIO_Value_Low Logische status 0, huidige sink
GPIO_Value_High Logische status 1, huidige bron

Gebruik deze modus wanneer één unidirectionele interface, zoals SPI of UART, is verbonden met de GPIO-uitvoerpin. Deze modus staat niet toe dat meerdere apparaten met elkaar worden verbonden in een busconfiguratie.

GPIO_OutputMode_OpenDrain

Configureert de GPIO-uitvoerpin zodanig dat deze de huidige waarde zinkt wanneer deze laag wordt gestuurd; kan niet als bronbron worden opgehaald. Het gedrag wordt samengevat in de volgende tabel:

GPIO-uitvoerwaarde GPIO-uitvoer aangestuurd als
GPIO_Value_Low Logische status 0, huidige sink
GPIO_Value_High Hoge impedantie (of logische status 1, met externe optrekweerstand)

Gebruik deze modus wanneer meerdere bidirectionele interfaces, zoals I2C, zijn verbonden met de GPIO-uitvoerpin in een busconfiguratie. Wanneer alle uitgangen van de verbonden interfaces een hoge impedantiestatus hebben, kan de GPIO-uitvoerpin worden gestuurd naar een logische 1 met een externe optrekweerstand. Elk van de verbonden interfaces kan de lijn naar logica 0 trekken met behulp van de open-drain-uitvoer.

GPIO_OutputMode_OpenSource

Configureert de GPIO-uitvoerpin zodanig dat deze de huidige bron bij hoog rijden; het kan de huidige niet laten zinken. Het gedrag wordt samengevat in de volgende tabel:

GPIO-uitvoerwaarde GPIO-uitvoer aangestuurd als
GPIO_Value_Low Hoge impedantie (of logische status 0, met externe pull-down weerstand)
GPIO_Value_High Logische status 1, huidige bron

Er is geen bekend gebruik voor deze modus, maar deze is beschikbaar voor degenen die deze willen gebruiken.