다음을 통해 공유


GPIO_OpenAsOutput 함수

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

GPIO(범용 입력/출력)를 출력으로 엽니다.

출력 GPIO는 푸시 풀, 열린 드레이닝 또는 오픈 소스 구성될 수 있습니다. 열려 있는 출력 GPIO에서 GPIO_SetValue 호출하여 출력 값을 설정합니다. 열려 있는 출력 GPIO에서 GPIO_GetValue 호출하여 현재 값을 읽을 수도 있습니다(예: 출력 GPIO가 GPIO_OutputMode_OpenDrain 또는 GPIO_OutputMode_OpenSource 구성된 경우).

GPIO 함수는 서로 다른 GPIO에 대한 호출 간에 스레드로부터 안전합니다. 그러나 동일한 GPIO에 대한 액세스에 대한 스레드 보안을 보장하는 것은 호출자의 책임입니다.

int GPIO_OpenAsOutput(GPIO_Id gpioId, GPIO_OutputMode_Type outputMode, GPIO_Value_Type initialValue);

매개 변수

  • gpioId GPIO를 식별하는 GPIO_Id .

  • outputMode GPIO의 출력 모드 입니다. 출력은 푸시 풀, 열린 드레이닝 또는 오픈 소스 구성될 수 있습니다.

  • initialValue GPIO에 대한 초기 GPIO_Value - GPIO_Value_High 또는 GPIO_Value_Low.

오류

오류가 발생하고 를 오류 값으로 설정 errno 하면 -1을 반환합니다.

  • EACCES: GPIO가 애플리케이션 매니페스트의 Gpio 필드에 나열되지 않으므로 에 대한 액세스 gpioId 가 허용되지 않습니다.

  • EBUSY: 가 gpioId 이미 열려 있습니다.

  • ENODEV: 가 gpioId 잘못되었습니다.

  • EINVAL: 가 outputMode 유효한 GPIO_OutputMode 아니거나 가 initialValue 유효한 GPIO_Value 아닙니다.

다른 errno 모든 오류도 지정할 수 있습니다. 이러한 오류는 결정적이지 않으며 시스템 업데이트를 통해 동일한 동작이 유지되지 않을 수 있습니다.

반환 값

성공한 경우 열린 GPIO에 대한 파일 설명자를 반환하고 실패의 경우 -1을 반환합니다. 이 경우 errno 오류 값으로 설정됩니다.

애플리케이션 매니페스트 요구 사항

개별 GPIO에 액세스하려면 애플리케이션 이 애플리케이션 매니페스트의 Gpio 필드에서 식별해야 합니다.