Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31041481
  • 博文数量: 230
  • 博客积分: 2868
  • 博客等级: 少校
  • 技术积分: 2223
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-08 21:48
个人简介

Live & Learn

文章分类

全部博文(230)

文章存档

2022年(2)

2019年(5)

2018年(15)

2017年(42)

2016年(24)

2015年(13)

2014年(1)

2012年(5)

2011年(58)

2010年(56)

2009年(9)

我的朋友

分类: 其他平台

2016-12-09 11:14:28

方法一:采用iomux的方法
在设备树中iomux中添加复用gpio引脚如下:


for i in /sys/class/gpio/* ; do cat $i/label; cat $i/base; echo; done 查询gpiobase

一般可以这样计算GPIOn_IOx = (n-1)*32 + x

此时可以使用echo命令进行控制:
命令为:
echo $i > /sys/class/gpio/export

echo "out" > /sys/class/gpio/gpio$i/direction
或echo "in" > /sys/class/gpio/gpio$i/direction

echo "1" > /sys/class/gpio/gpio$i/value
echo "0" > /sys/class/gpio/gpio$i/value

echo $i > /sys/class/gpio/unexport
或者使用 open("/sys/class/gpio/export", O_WRONLY); write函数进行控制。参考test.c

方法二:创建dev/gpio节点。


添加driver/misc/gpio/gpio-user.c,修改Makefile文件编译。
修改 driver/misc/Makefile 添加:
obj-y            += gpio/
linux_imx6ul_config中添加:
CONFIG_GPIO_USER_INTF=y
编译之后。在dev下有gpio节点。
采用gpio-test.c为用户测试程序。编译为gpio-test


使用gpio-test in 2测试DI
使用gpio-test out 9 1 测试DO 输出为高电平。
使用gpio-test out 9 0 测试DO 输出为低电平。

 (36.79 KB, 下载次数: 0)



 (24.99 KB, 下载次数: 0)



阅读(8381) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~