Udostępnij za pośrednictwem


funkcja GPIO_OpenAsOutput

Nagłówek: #include <applibs/gpio.h>

Otwiera obiekt GPIO (Ogólnego przeznaczenia wejścia/wyjścia) jako wynik.

Obiekt GPIO wyjściowy może być skonfigurowany jako push-pull, open drain lub open source. Wywołaj GPIO_SetValue otwartego obiektu gpio wyjściowego, aby ustawić wartość wyjściową. Możesz również wywołać GPIO_GetValue na otwartym obiektu GPIO wyjściowego, aby odczytać bieżącą wartość (na przykład gdy wyjściowy obiekt GPIO jest skonfigurowany jako GPIO_OutputMode_OpenDrain lub GPIO_OutputMode_OpenSource).

Funkcje GPIO są bezpieczne dla wątków między wywołaniami różnych obiektów GPIO; jednak obowiązkiem wywołującego jest zapewnienie bezpieczeństwa wątków dla dostępu do tego samego obiektu zasad grupy.

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

Parametry

  • gpioId GPIO_Id identyfikująca obiekt zasad grupy.

  • outputMode Tryb wyjściowy obiektu GPIO. Dane wyjściowe mogą być skonfigurowane jako push-pull, open drain lub open source.

  • initialValue Początkowa GPIO_Value obiektu GPIO — GPIO_Value_High lub GPIO_Value_Low.

Błędy

Zwraca wartość -1 w przypadku napotkania błędu i ustawia errno wartość błędu.

  • EACCES: dostęp do gpioId nie jest dozwolony, ponieważ obiekt zasad grupy nie jest wymieniony w polu Gpio manifestu aplikacji.

  • EBUSY: gpioId jest już otwarty.

  • ENODEV: jest nieprawidłowy gpioId .

  • EINVAL: outputMode nie jest prawidłowym GPIO_OutputMode lub initialValue nie jest prawidłowym GPIO_Value.

Mogą być również określone inne errno błędy; takie błędy nie są deterministyczne i to samo zachowanie może nie być zachowane za pośrednictwem aktualizacji systemu.

Zwracana wartość

Zwraca deskryptor pliku dla otwartego obiektu ZASAD GRUPY po sukcesie lub -1 dla niepowodzenia, w którym to przypadku errno zostanie ustawiona wartość błędu.

Wymagania dotyczące manifestu aplikacji

Aby uzyskać dostęp do poszczególnych obiektów GPIO, aplikacja musi je zidentyfikować w polu Gpio manifestu aplikacji.