本文档介绍了应用层如何控制 GPIO,适用于天嵌开发板TQT507 。
1.sysfs 方式控制GPIO
通过 sysfs 方式进行操控,进入到/sys/class/gpio 目录下
可以看到该目录下包含两个文件 export、unexport以及2个gpiochipX(X 等于 0、 352)命名的文件夹。
1.1 gpiochipX
gpiochipX:当前 SoC 所包含的 GPIO 控制器, 每一个 gpiochipX 文件夹用来管理一组 GPIO。随便进到其中某个目录下,可以看到这些目录下包含了如下文件 :
在这个目录我们主要关注的是 base、 label、 ngpio 这三个属性文件,这三个属性文件均是只读、不可写。
base:与 gpiochipX 中的 X 相同,表示该控制器所管理的这组 GPIO 引脚中最小的编号。每一个 GPIO引脚都会有一个对应的编号, Linux 下通过这个编号来操控对应的 GPIO 引脚。
label:该组 GPIO 对应的标签,也就是名字
ngpio:该控制器所管理的 GPIO 引脚的数量(所以引脚编号范围是:base ~ base+ngpio-1)