Partilhar via


enumeração GPIO_OutputMode

Cabeçalho: #include <applibs/gpio.h>

As opções para o modo de saída de um GPIO.

O valor de saída de um GPIO é definido pela função GPIO_SetValue .

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

Valores

GPIO_OutputMode_PushPull

Configura o pin de saída GPIO de modo a que afunde a corrente quando orientada para baixo e as origens atuais quando orientadas para o nível elevado. O comportamento é resumido na seguinte tabela:

Valor de saída GPIO Saída GPIO condicionada como
GPIO_Value_Low Estado 0 da lógica, sink atual
GPIO_Value_High Estado 1 da lógica, origem atual

Utilize este modo quando uma única interface unidirecional, como SPI ou UART, estiver ligada ao pino de saída GPIO. Este modo não permite que vários dispositivos sejam ligados em conjunto numa configuração de barramento.

GPIO_OutputMode_OpenDrain

Configura o pin de saída GPIO de modo a que afunde a corrente quando orientada para baixo; não é possível obter a corrente de origem. O comportamento é resumido na seguinte tabela:

Valor de saída GPIO Saída GPIO condicionada como
GPIO_Value_Low Estado 0 da lógica, sink atual
GPIO_Value_High Elevada impedância (ou estado lógico 1, com resistência de pull-up externa)

Utilize este modo quando várias interfaces bidirecionais, como o I2C, estiverem ligadas ao pin de saída GPIO numa configuração de barramento. Quando todas as saídas das interfaces ligadas estão num estado de elevada impedância, o pino de saída GPIO pode ser conduzido a uma lógica 1 com uma resistência de pull-up externa. Qualquer uma das interfaces ligadas pode puxar a linha para a lógica 0 através da saída de drenagem aberta.

GPIO_OutputMode_OpenSource

Configura o pin de saída GPIO de modo a que este produza a corrente quando impulsionado para alto; não consegue afundar a corrente. O comportamento é resumido na seguinte tabela:

Valor de saída GPIO Saída GPIO condicionada como
GPIO_Value_Low Elevada impedância (ou estado lógico 0, com resistência externa para baixo)
GPIO_Value_High Estado 1 da lógica, origem atual

Não existe uma utilização bem conhecida para este modo, mas está disponível para quem o pretenda utilizar.