1. 使能linux内核选项CONFIG_GPIO_SYSFS

  CONFIG_GPIO_SYSFS=y

2. 测试方法

  2.1 关注/sys/class/gpio下的文件

    --export/unexport文件

    --gpioX指代具体的gpio引脚

    --gpio_chipY指代gpio控制器

  2.2 申请将某个gpio(假设申请gpio3的第27个gpio, gpio3对应gpiochip416)的控制权导出到用户空间

    # ls /sys/class/gpio

    export gpiochip416  gpiochip448  gpiochip480  unexport

    # echo 443 /sys/class/gpio/export (443 = 416 + 27, 这样就将gpio3的第27个gpio给导出到用户空间了)

    此操作会生成目录/sys/class/gpio/gpio443, 指代具体的gpio引脚

    gpio443目录下有以下文件: 

      direction 表示gpio端口的方向,读取结果是in或out。该文件也可以写,写入out 时该gpio设为输出同时电平默认为低。写入low或high则不仅可以设置为输出还可以设置输出的电平

      value 表示gpio引脚的电平,0(低电平)1(高电平),如果gpio被配置为输出,这个值是可写的,记住任何非零的值都将输出高电平, 如果某个引脚能并且已经被配置为中断,则可以调用poll(2)函数监听该中断,中断触发后poll(2)函数就会返回。

      edge 表示中断的触发方式,edge文件有如下四个值:none, rising, falling,both。

      none表示引脚为输入,不是中断引脚

      rising表示引脚为中断输入,上升沿触发

      falling表示引脚为中断输入,下降沿触发

      both表示引脚为中断输入,边沿触发,这个文件节点只有在引脚被配置为输入引脚的时候才存在。 当值是none时可以通过如下方法将变为中断引脚

        echo "both" > edge;对于是both,falling还是rising依赖具体硬件的中断的触发方式。此方法即用户态gpio转换为中断引脚的方式

      active_low

  2.3 /sys/class/gpio/gpiochipN

    gpiochipN表示的就是一个gpio_chip,用来管理和控制一组gpio端口的控制器,该目录下存在以下属性文件:

    base 和N相同,表示控制器管理的小的端口编号。

    lable 诊断使用的标志(并不总是唯一的)

    ngpio 表示控制器管理的gpio端口数量(端口范围是:N ~ N+ngpio-1)

最新文章

  1. python+uwsgi导致redis无法长链接引起性能下降问题记录
  2. [LeetCode] The Skyline Problem 天际线问题
  3. 协议的分用以及wireshark对协议的识别
  4. (准备写)URAL1824 Ifrit Bomber 题解
  5. Facebook React.js库 入门实例教程
  6. 构建多模块的Maven项目
  7. JS 浮点数运算丢失精度解决方案
  8. 准确率(Precision)、召回率(Recall)以及F值(F-Measure)
  9. CODESOFT对话框中的显示字体怎么修改
  10. 《我是一只IT小小鸟》阅读笔记
  11. BZOJ3410: [Usaco2009 Dec]Selfish Grazing 自私的食草者
  12. javascript 学习总结(八)属性定义方法
  13. python 第五弹
  14. 搭建阿里云 centos mysql tomcat jdk
  15. 自学Python2.7-collections系列
  16. 使用nginx处理静态资源请求,其余交给node
  17. prometheus-operator 详细总结(helm一键安装)
  18. spring入门详细教程(五)
  19. P2034 选择数字
  20. matlab生成滤波器系数组

热门文章

  1. Windows 上搭建Apache FtpServer
  2. IP详解
  3. python温度转换代码
  4. 手写热更新阐述tinker实现原理
  5. mysql 两张表字段模糊匹配--字符串拼接函数
  6. test20190504 行走
  7. C#格式化字符串使用
  8. [Angular 8] Keep original DOM structure with ng-container
  9. 洛谷 P1032 字串变换 题解
  10. Linux系统性能10条命令