一.libgpiod 介绍
libgpiod 是一个用于与 Linux GPIO(通用输入输出)子系统交互的用户空间库。它提供了一组简单且高效的 API,允许开发者通过用户空间程序控制 GPIO 引脚,而无需编写内核模块或直接操作 /sys/class/gpio 接口。libgpiod 是 Linux 内核推荐的 GPIO 访问方式,取代了旧的 sysfs GPIO 接口。
在早期的 Linux 系统中,GPIO 通常通过 /sys/class/gpio 接口进行控制。然而,这种方式存在以下问题:
-
性能差:每次操作都需要文件读写,效率较低。
-
功能有限:不支持复杂的事件检测(如边沿触发)。
-
不推荐使用:从 Linux 4.8 开始,
sysfsGPIO 接口被标记为过时。
libgpiod 解决了这些问题,提供了以下优势:
-
高性能:直接通过字符设备(








![[QT]开发全解析:从概念到实战](https://i-blog.csdnimg.cn/direct/f14d41e6ca834314b399c50991196aa7.png)










