跳到主要内容

GPIO控制器 (gpio)

GPIO 控制器。

设备类型

DEVICE_TYPE_GPIOCHIP

结构体

struct gpiochip_t {
char * name;
int base, ngpio;
int (*set_cfg)(struct gpiochip_t * chip, int offset, int cfg);
int (*get_cfg)(struct gpiochip_t * chip, int offset);
int (*set_pull)(struct gpiochip_t * chip, int offset, enum gpio_pull_t pull);
int (*get_pull)(struct gpiochip_t * chip, int offset);
int (*set_drv)(struct gpiochip_t * chip, int offset, enum gpio_drv_t drv);
int (*get_drv)(struct gpiochip_t * chip, int offset);
int (*set_dir)(struct gpiochip_t * chip, int offset, int dir);
int (*get_dir)(struct gpiochip_t * chip, int offset);
int (*set_value)(struct gpiochip_t * chip, int offset, int value);
int (*get_value)(struct gpiochip_t * chip, int offset);
int (*to_irq)(struct gpiochip_t * chip, int offset);
void * priv;
};

关键 API

函数说明
search_gpiochip(name)按名称查找 GPIO 控制器
register_gpiochip(chip, drv)注册 GPIO 控制器
unregister_gpiochip(chip)注销 GPIO 控制器
gpio_set/get_value(gpio, value)设置/获取 GPIO 值
gpio_direction_output/input(gpio)设置输出/输入模式
gpio_to_irq(gpio)GPIO 转中断号

说明

GPIO 控制器接口。使用全局编号空间控制引脚,支持功能配置、上拉/下拉、驱动强度和方向。