openwrt控制GPIO

可以通过在/sys/class/gpio下操作导出GPIO引脚,从而对GPIO进行操作。

export:导出控制的 GPIO 引脚编号。
unexport:取消控制的 GPIO 引脚编号。
gpiochip*/:保存系统中 GPIO 寄存器的信息,包括每个寄存器控制引脚的起始编号 base,寄存器名称,引脚。  

例如我们要对GPIO10进行操作

可以通过命令echo 10 > export 导出GPIO10,此时gpio目录下就多了一个GPIO10的目录

 进入gpio10目录后有一下几个文件:

(1)active_low:这个按照官方的说法是这个翻转电平,输入非零的数即上升沿变为下降沿。
    可以通过echo 1 > active_low去修改里面的值,

(2)direction:定义gpio mode.
    如果想设置为输入:echo in > direction
    如果想设置为输出:echo out > direction
(3)edge:控制中断触发模式 无: echo none > edge 上升沿触发:echo rising > edge 下降沿触发:echo falling > edge 轮询:echo both > edge
(4)value:通过修改value里面的值来修改gpio的电平高低   

可以通过echo 10 > unexpect去关闭GPIO10,此时gpio下的gpio10目录就消失了。

可以通过脚本或者C语言去改变这几个文件的内容从而对gpio进行控制。

 

原文地址:https://www.cnblogs.com/yuanqiangfei/p/14757090.html