次の方法で共有


GPIO_OutputMode 列挙型

ヘッダー: applibs </gpio.h #include>

GPIO の出力モードのオプション。

GPIO の 出力値 は、 GPIO_SetValue 関数によって設定されます。

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

GPIO_OutputMode_PushPull

低駆動時に電流をシンクし、駆動時に電流をソースするように GPIO 出力ピンを構成します。 動作の概要を次の表に示します。

GPIO 出力値 として駆動される GPIO 出力
GPIO_Value_Low ロジック状態 0、現在のシンク
GPIO_Value_High ロジック状態 1、現在のソース

SPI や UART などの単一方向インターフェイスが GPIO 出力ピンに接続されている場合は、このモードを使用します。 このモードでは、バス構成で複数のデバイスを一緒に接続することはできません。

GPIO_OutputMode_OpenDrain

低駆動時に電流をシンクするように GPIO 出力ピンを構成します。現在のソースにすることはできません。 動作の概要を次の表に示します。

GPIO 出力値 として駆動される GPIO 出力
GPIO_Value_Low ロジック状態 0、現在のシンク
GPIO_Value_High 高インピーダンス (またはロジック状態 1、外部プルアップ抵抗付き)

このモードは、I2C などの複数の双方向インターフェイスがバス構成の GPIO 出力ピンに接続されている場合に使用します。 接続されたインターフェイスのすべての出力が高インピーダンス状態の場合、GPIO 出力ピンは外部プルアップ抵抗を使用してロジック 1 に駆動できます。 接続されたインターフェイスは、そのオープン ドレイン出力を使用して、ロジック 0 にラインをプルできます。

GPIO_OutputMode_OpenSource

GPIO 出力ピンを構成して、ドライブが高いときに電流をソースするようにします。電流をシンクできません。 動作の概要を次の表に示します。

GPIO 出力値 として駆動される GPIO 出力
GPIO_Value_Low 高インピーダンス (またはロジック状態 0、外付けプルダウン抵抗付き)
GPIO_Value_High ロジック状態 1、現在のソース

このモードではよく知られている使用はありませんが、使用したい人は使用できます。