首页 > 解决方案 > 如何使用 Linux 的 gpiod 库将引脚配置为带有上拉电阻的输入?

问题描述

查看函数,可以使用枚举devm_gpiod_get的其中一种变体来配置引脚的初始模式:gpiod_flags

/**
 * Optional flags that can be passed to one of gpiod_* to configure direction
 * and output value. These values cannot be OR'd.
 */
enum gpiod_flags {
    GPIOD_ASIS  = 0,
    GPIOD_IN    = GPIOD_FLAGS_BIT_DIR_SET,
    GPIOD_OUT_LOW   = GPIOD_FLAGS_BIT_DIR_SET | GPIOD_FLAGS_BIT_DIR_OUT,
    GPIOD_OUT_HIGH  = GPIOD_FLAGS_BIT_DIR_SET | GPIOD_FLAGS_BIT_DIR_OUT |
              GPIOD_FLAGS_BIT_DIR_VAL,
    GPIOD_OUT_LOW_OPEN_DRAIN = GPIOD_OUT_LOW | GPIOD_FLAGS_BIT_OPEN_DRAIN,
    GPIOD_OUT_HIGH_OPEN_DRAIN = GPIOD_OUT_HIGH | GPIOD_FLAGS_BIT_OPEN_DRAIN,
};

这里似乎缺少的是通过上拉将引脚设置为输入的能力。最接近的正确配置似乎是GPIOD_OUT_HIGH_OPEN_DRAIN,但这似乎不太正确。如何使用 Linux 的 GPIO 库将引脚配置为带有上拉电阻的输入?

标签: linux-kernelgpio

解决方案


推荐阅读