具体请参考: http://blog.csdn.net/u014213012/article/details/53140781

这里要注意的是:

要让linux支持文件io方式操作gpio,首先驱动必须得支持,也就是说设备树上必须先配置好gpio模式,然后参照以上链接去实现gpio操作

这里举例来说:hud项目中(imx6dl平台),有一个蓝牙电源的使能受GPIO1_IO30的控制,所以我们必须得在设备树上配置这个pad为GPIO模式

1.配置gpio模式

现在需要在设备树上配置GPIO1_IO32用于gpio, 在配置之前需要确定该pad为哪个pad, 经原理图可知为ENET_TXD0/GPIO1_IO30, 然后在imx6dl规格书上第四章External Signals and Pin Multiplexing章节查找到ENET_TXD0, 可以看出该pad可以复用成三种功能(ENET_TX_DATA0, ESAI_TX4_RX1, GPIO1_IO30), 这些宏定义在imx6dl-pinfunc.h文件中, 然后在用到的设备树上(imx6dl-hud.dtsi)上查找是否已经有用到其他功能(现在要配置成gpio功能, 若已经配置成ENET_TX_DATA0则要删除它)

MX6QDL_PAD_ENET_TXD0__GPIO1_IO30    0x80000000  /* bluetooth power enable */

这样就配置好了gpio模式

然后使用文件io操作gpio:

2.计算gpio号:

nr=(P -1)* 32 + N; gpioP_N;

这里nr=(1-1)*32 + 30=30

3.io文件操作gpio

echo 30 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio30/direction

echo 1 > /sys/class/gpio/gpio30/value    ---> 写高电平

echo 0 > /sys/class/gpio/gpio30/value    ---> 写低电平

最新文章

  1. 关于 FPGA 内部信号扇入扇出
  2. Stackoverflow/dapper的Dapper-Extensions用法(一)
  3. 深受C/C 程序员欢迎的11款IDE
  4. List<T>线性查找和二分查找BinarySearch效率分析
  5. hdu 1285 确定比赛名次 拓扑排序
  6. LR回放测试脚本
  7. Cookie的具体使用之来存储对象
  8. 使用for xml path 分组查询
  9. [转载](iPhone开发)Bundle Display Name 改为中文。ap
  10. Android之PreferenceActivity 详解
  11. MVC4数据访问EF查询linq语句的时候报错找不到表名问题
  12. 记“debug alipay”一事
  13. 解决 java.lang.ClassNotFoundException: org.springframework.beans.factory.config.EmbeddedValueResolver
  14. 移动开发基础-学习笔记二-字体图标、less、bootstrap入门
  15. Webpack 4教程 - 第六部分 增强开发时体验
  16. 【Docker】基础学习及在.Net Core应用
  17. [TJOI2009]猜数字
  18. POJ 1067 威佐夫博弈
  19. Python装饰器 [1]
  20. AI mac安装TensorFlow

热门文章

  1. 使用IDEA创建package
  2. Java高级架构师(一)第28节:Index、商品详细页和购物车
  3. Java高级架构师(一)第24节:加入ehcache,把工程加入到Git
  4. Java高级架构师(一)第12节:Service的实现以及模块化
  5. ueditor-angular(百度编辑器angular版)中,关于插入图片后不操作,图片无法正常提交的问题;
  6. 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
  7. IIS 日志
  8. iOS:扩展UIColor,支持十六进制颜色设置
  9. javascript快速入门27--XSLT基础
  10. [转载]Oracle批量执行