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,当前源 |
此模式没有众所周知的用途,但它适用于想要使用它的用户。