今天在弄openwrt gpio管脚输出

原创 2017年04月12日 11:19:29

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

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 gpio开始 By 船长@发现——转载(终于找到)

openwrt gpio开始 By 船长@发现 gpio是个很神奇的东西,在Linux的某个时候呗纳入了规范,它可以直接的操作io口,读或者写,它可以就像文件协议一样的控制它,这就是Linu...

openwrt gpio控制与使用

查看datasheet和确认GPIO复用引脚scheme 通过查看mt7628 datasheet可以明确复用关系: 在这里我以I2S对应的GPIO引脚为例。 查看 mt7628...

STM32 GPIO管脚工作模式和输出速度总结笔记

GPIO 输出速度I/O口输出模式下有三种输出速度可选(2MHz,10MHz,50MHz),这个速度是指I/O口驱动电路的响应速度;I/O管脚内部有多个响应不同的驱动电路,用户可以根据自己的需要选择合...
  • wuyuzun
  • wuyuzun
  • 2017年05月09日 10:41
  • 900

LPC NXP 设置管脚功能为GPIO且为输出的步骤

GPIO_SetDir(CS0_PORT_NUM, (1FIO_SetMask(CS0_PORT_NUM,(1 。。。。。。        GPIO_ClearValue(CS1_PORT_NUM, ...
  • pkuyjxu
  • pkuyjxu
  • 2014年02月21日 15:05
  • 3922

MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式

这里必须吐槽下:MTK的东西坑很多,MTK的工程师吃屎的,给出的demo就是一个废物。 回归正题,MT7688平台的管脚是复用的,很多时候需要把某个管脚去设置为GPIO,去控制LED,或者读取GPIO...
  • ivan_
  • ivan_
  • 2017年07月28日 17:21
  • 963

树莓派2B的GPIO管脚分布

见我收藏的博客  树莓派学习笔记——wiringPi简介、安装和管脚说明 - 物联网 IoT 经验分享小站 - 博客频道 - CSDN.NET 安装wiringPi后查看GPIO版本 sudo ...

2410对gpio管脚的控制

  • 2009年08月07日 18:05
  • 7KB
  • 下载

MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式,试用各种平台

reg工具是个好东西,可以配置寄存器,可以读出寄存器值,方便调试。本文继续控制GPIO。之前说那种控制方法,不适用openwrt系统。 本文适用openwrt 和mtk 标准sdk。以控制GPIO#4...
  • ivan_
  • ivan_
  • 2017年07月28日 18:40
  • 441

基于MPC8308的gpio管脚驱动测试linux2.6内核任务切换延时

1、目的: 为测试linux2.6.29.6内核的任务切换延时,考虑通过同时在后台运行的两个进程test_gpio0和test_gpio1,对指定的gpio管脚分别拉低、拉高,从示波...

STM32 GPIO管脚模式的设置及使用方法

一、 在STM32中选用IO模式        1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1        2、带上拉输入GPIO_IPU——IO内部上拉电...
  • sdkdlwk
  • sdkdlwk
  • 2017年03月23日 09:20
  • 1651
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:今天在弄openwrt gpio管脚输出
举报原因:
原因补充:

(最多只允许输入30个字)