今天在弄openwrt gpio管脚输出


放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备

https://item.taobao.com/item.htm?scm=12306.300.0.0&id=38169449132



GPIO的软件控制
  
     在Linux中, GPIO 表达为一个设备文件, 对GPIO的操作采用文件读写方式即可完成。
     在 目录 /sys/class/gpio/ 下 存放着 GPIO 的设备文件。
   
     查看一个7688的gpio这个目录   

          ls /sys/class/gpio

     返回结果:

         export      gpiochip0   gpiochip127 gpiochip32  gpiochip64   unexport

     其中: export 和 unexport 是两个文件, 其它是目录。

     要操作某一个GPIO,  首先要将GPIO 管脚编号首先写入 export 文件中

     输入命令行: echo  44  > /sys/class/gpio/export
     然后查看gpio目录    ls /sys/class/gpio
     结果是:     

        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独有的。


http://blog.csdn.net/hnhkj/article/details/50930483

这个链接上的关于OPENWRT的东西不错,比较细,收藏一下

可以通过#cat /sys/kernel/debug/gpio命令查询当前管脚状态。lo,低电平,hi为高电平。

root@mylinkit:/# cat /sys/kernel/debug/gpio
GPIOs 0-31, platform/10000600.gpio, 10000600.gpio:
 gpio-11  (bootstrap           ) out lo
 gpio-14  (BTN_0               ) in  hi
 gpio-15  (BTN_1               ) in  hi
 gpio-16  (BTN_2               ) in  hi
 gpio-17  (BNT_3               ) in  hi
 gpio-18  (BTN_4               ) in  hi
 gpio-19  (S9                  ) in  hi

 GPIOs 32-63, platform/10000600.gpio, 10000600.gpio:
  gpio-38  (reset               ) in  hi

 GPIOs 64-95, platform/10000600.gpio, 10000600.gpio:

 GPIOs 127-127, platform/gpio-wifi, gpio-wifi:
  gpio-127 (mediatek:orange:wifi) out ?

阅读更多
个人分类: openwrt学习
上一篇使openwrt的LuCI 支持多语言,并设置简体中文为默认语言
下一篇给openwrt增加sftp,方便传输文件 并编译进固件
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭