다음을 통해 공유


GPIO_OutputMode 열거형

헤더: #include <applibs/gpio.h>

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, 현재 원본

이 모드에 대해 잘 알려진 사용은 없지만 사용하려는 사용자에게는 사용할 수 있습니다.