Libgpiod库的使用,点亮LED

libgpiod库的使用

1.libgpiod库简介

官方的对libgpiod库介绍如下:

libgpiod - C library and tools for interacting with the linux GPIO
character device (gpiod stands for GPIO device)

Since linux 4.8 the GPIO sysfs interface is deprecated. User space should use
the character device instead. This library encapsulates the ioctl calls and
data structures behind a straightforward API.

以上的意思表明:libgpiod是用于与linux GPIO交互的C库和工具

​ 字符设备(gpiod代表GPIO设备)

由于linux 4.8,GPIO sysfs接口已被弃用。用户空间应该使用取而代之的是字符设备。

这个库封装了ioctl调用和简单API背后的数据结构。

GPIO(General Purpose Input/Output Port)通用输入输出接口

2.libgpiod相关结构体

(1)struct gpiod_chip

这个结构体代表支持的gpio芯片的相关信息

struct gpiod_chip {
struct gpiod_line **lines; //每个 gpio 口 gpiod_line 数组 lines,每一个gpio口对应一个line
unsigned int num_lines; //数组的个数

​ int fd; //设备句柄

​ char name[32]; //芯片的名称
​ char label[32]; //芯片的标签

};

(2)struct gpiod_line

struct gpiod_line {
unsigned int offset; //gpio口的偏移量
int direction; //gpio的方向
int active_state; //活动状态配置
int output_value; //最后写入 GPIO 的逻辑值
u32 info_flags;
u32 req_flags;
int state;
struct gpiod_chip *chip;
struct line_fd_handle *fd_handle;
char name[32];
char consumer[32];
};

3.libgpiod常见的函数解析

struct gpiod_chip* gpiod_chip_open_by_name(const
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值