结果是: export gpiochip0 gpiochip32 unexport
gpio44 gpiochip127 gpiochip64
可以看到,该目录下多了一个名为 gpio44的目录。 进入这个目录即可对GPIO44口进行操作。
查看一下gpio44目录: ls /sys/class/gpio/gpio44
结果有几个文件:
active_low device direction edge subsystem uevent value
其中:
direction 文件是GPIO的输入输出方向,写入文本"out" 到该文件,则 GPIO口被置为输出状态。写入"in" 到该文件,则 GPIO口被置为输入状态。
value 文件是GPIO的当前状态值,为1或0 (即 HIGH 或 LOW). 写入文本"1" 到该文件,则 GPIO置为HIGH(高电压), 写入文本"0" 到该文件,则 GPIO置为LOW(低电压)
以命令行操作一下, 将gpio44的direction设成 "out", 值设为 "0"
echo out > /sys/class/gpio/gpio44/direction
echo 0 > /sys/class/gpio/gpio44/value
则此时, 开发板上的WIFI灯亮起。 (开发板的WIFI灯连接了 gpio44, 由于WIFI灯的接入方式是Active Low,故写入 “0“ 灯亮)
写入 “1“ , 则开发板上的WIFI灯灭了,命令如下:
echo 1 > /sys/class/gpio/gpio44/value
操作完成后,可以将GPIO 管脚编号写入 unexport 文件中
echo 44 > /sys/class/gpio/unexport
则目录 /sys/class/gpio/gpio44 将消失, 不能操作GPIO 44脚了
上述过程是适用于所有
Linux 版本的通用处理方式,不仅是OpenWrt独有的。
这个链接上的关于OPENWRT的东西不错,比较细,收藏一下
可以通过#cat /sys/kernel/debug/gpio命令查询当前管脚状态。lo,低电平,hi为高电平。