linux控制GPIO的方法:
在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而value可控制GPIO的状态或者读取状态。
/sys/class/gpio/目录下各个文件说明:
/sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号;
/sys/class/gpio/unexport 用于通知系统取消导出;
/sys/class/gpio/gpioX/direction文件,可以写入in(设置输入方向)或out(设置输出方向);
/sys/class/gpio/gpioX/value文件是可以读写GPIO状态;
/sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始编号,寄存器名称,引脚总数;其中X表示具体的引脚编号。
/sys/kernel/debug/gpio查询偏移信息
步骤一、在控制台使用 echo 命令将要操作的 GPIO 编号 export:
echo N > /sys/class/gpio/export
export 之后就会生成/sys/class/gpio/gpioN 目录
步骤二、在控制台使用 echo 命令设置 GPIO 方向: 1、对于输入
echo in > /sys/class/gpio/gpioN/direction
2、对于输出
echo out > /sys/class/gpio/gpioN/direction
3、可使用 cat 命令查看 GPIO 方向
cat /sys/class/gpio/gpioN/direction
步骤三、在控制台使用 cat 或 echo 命令查看 GPIO 输入值或设置 GPIO 输出值: 1、查看输入值
cat /sys/class/gpio/gpioN/value
2、输出低
echo 0 > /sys/class/gpio/gpioN/value
3、输出高
echo 1 > /sys/class/gpio/gpioN/value
步骤四、在控制台使用 echo 命令将操作的 GPIO 编号 unexport:
echo N > /sys/class/gpio/unexport