imx6用文件io操作gpio
具体请参考: 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 ---> 写低电平
最新文章
- 关于 FPGA 内部信号扇入扇出
- Stackoverflow/dapper的Dapper-Extensions用法(一)
- 深受C/C 程序员欢迎的11款IDE
- List<;T>;线性查找和二分查找BinarySearch效率分析
- hdu 1285 确定比赛名次 拓扑排序
- LR回放测试脚本
- Cookie的具体使用之来存储对象
- 使用for xml path 分组查询
- [转载](iPhone开发)Bundle Display Name 改为中文。ap
- Android之PreferenceActivity 详解
- MVC4数据访问EF查询linq语句的时候报错找不到表名问题
- 记“debug alipay”一事
- 解决 java.lang.ClassNotFoundException: org.springframework.beans.factory.config.EmbeddedValueResolver
- 移动开发基础-学习笔记二-字体图标、less、bootstrap入门
- Webpack 4教程 - 第六部分 增强开发时体验
- 【Docker】基础学习及在.Net Core应用
- [TJOI2009]猜数字
- POJ 1067 威佐夫博弈
- Python装饰器 [1]
- AI mac安装TensorFlow
热门文章
- 使用IDEA创建package
- Java高级架构师(一)第28节:Index、商品详细页和购物车
- Java高级架构师(一)第24节:加入ehcache,把工程加入到Git
- Java高级架构师(一)第12节:Service的实现以及模块化
- ueditor-angular(百度编辑器angular版)中,关于插入图片后不操作,图片无法正常提交的问题;
- 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
- IIS 日志
- iOS:扩展UIColor,支持十六进制颜色设置
- javascript快速入门27--XSLT基础
- [转载]Oracle批量执行