Condividi tramite


GPIO_OutputMode Enum

Intestazione: #include <applicazioni/gpio.h>

Opzioni per la modalità di output di un GPIO.

Il valore di output di un GPIO viene impostato dalla funzione GPIO_SetValue .

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

Valori

GPIO_OutputMode_PushPull

Configura il pin di output GPIO in modo che la corrente venga affondata quando la corrente è bassa e le fonti correnti quando si guidano in alto. Il comportamento viene riepilogato nella tabella seguente:

Valore di output GPIO Uscita GPIO basata su
GPIO_Value_Low Stato logico 0, sink corrente
GPIO_Value_High Stato logico 1, origine corrente

Usare questa modalità quando una singola interfaccia unidirezionale, ad esempio SPI o UART, è connessa al pin di output GPIO. Questa modalità non consente la connessione di più dispositivi insieme in una configurazione bus.

GPIO_OutputMode_OpenDrain

Configura il pin di output GPIO in modo che la corrente venga sink quando la corrente è bassa; non può sorgente corrente. Il comportamento viene riepilogato nella tabella seguente:

Valore di output GPIO Uscita GPIO basata su
GPIO_Value_Low Stato logico 0, sink corrente
GPIO_Value_High Alta impedanza (o stato logico 1, con resistore pull-up esterno)

Usare questa modalità quando più interfacce bidirezionali, ad esempio I2C, sono connesse al pin di output GPIO in una configurazione bus. Quando tutte le uscite delle interfacce connesse sono in uno stato di esecuzione elevata, il pin di output GPIO può essere guidato a una logica 1 con una resistenza pull-up esterna. Una qualsiasi delle interfacce connesse può tirare la linea alla logica 0 utilizzando il suo output open-drain.

GPIO_OutputMode_OpenSource

Configura il pin di output GPIO in modo che le origini correnti quando guidato alto; non può affondare corrente. Il comportamento viene riepilogato nella tabella seguente:

Valore di output GPIO Uscita GPIO basata su
GPIO_Value_Low Alta impedanza (o stato logico 0, con resistore pull-down esterno)
GPIO_Value_High Stato logico 1, origine corrente

Non esiste un uso noto per questa modalità, ma è disponibile per gli utenti che vogliono usarla.