linux下通过GPIO子系统控制GPIO
前言
在Linux系统中,可以通过GPIO子系统来控制GPIO(通用输入输出)引脚。下面是一个简单的步骤指南:
一、寻找GPIO控制器
1.通过DTS 确认使用GPIO寄存器,label名称
2.查找gpio控制器在gpiochip112 目录下,因此base为112.
3.因此如需要控制GPIO19则 gpio_number = 19+ base
值 即 gpio_number = 19 + 112 = 131
二、控制GPIO
1.导出GPIO引脚。在GPIO子系统中,您需要将要操作的GPIO引脚导出,使其成为可以被应用程序访问和控制的对象。在终端中执行以下命令来导出GPIO引脚:
echo <gpio_number> > /sys/class/gpio/export
2.配置GPIO引脚的方向。GPIO引脚可以被配置为输入模式(用于读取外部信号)或输出模式(用于控制外部设备)。在终端中执行以下命令来配置GPIO引脚的方向:
echo <in/out> > /sys/class/gpio/gpio<gpio_number>/direction
3.读取或写入GPIO引脚的值。对于输入模式的引脚,可以通过读取 /sys/class/gpio/gpio<gpio_number>/value
文件来获取引脚的值。
对于输出模式的引脚,可以通过写入 “0” 或 “1” 到 /sys/class/gpio/gpio<gpio_number>/value
文件来控制引脚的值。
echo 1 > /sys/class/gpio/gpio<gpio_number>/value
echo 0 > /sys/class/gpio/gpio<gpio_number>/value
4.取消导出GPIO引脚。当您不再需要操作某个GPIO引脚时,可以取消导出以释放该引脚。在终端中执行以下命令来取消导出GPIO引脚:
echo <gpio_number> > /sys/class/gpio/unexport