Перечисление 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, текущий источник |
Используйте этот режим, если к выходному контакту GPIO подключен один однонаправленный интерфейс, например SPI или UART. В этом режиме не допускается подключение нескольких устройств в конфигурации шины.
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, текущий источник |
Этот режим не используется, но он доступен для тех, кто хочет его использовать.