这文章属于个人笔记,都是按自己理解写的,如有错误望指正 。谢谢
因为系统内部这两个设备是没充电的,所以我们应该使用gpio起打开两个设备
1、设备应该是ROOT过的
2、装一个终端模拟器
3、打开终端模拟器,切换到超级权限SU
熟悉简单的linux命令:
su 切换到超级权限
cd XX 打开某个文件夹
cd .. 返回上一级目录
echo 1 >value 设置value的值是1
cat value 查看value的值
ls 查看详细信息
简单的说下原理 :
通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入。文件IO方式操作GPIO,使用到了4个函数open、close、read、write。
4、现在开始执行GPIO来打开设备 ,cd到sys/class/gpio
5、然后使用ls查看gpio文件夹下有哪些设备
简单的说下gpio底下的文件夹的意思
export 把gpio导出,使用户可以查看到这设备
gpioXX 编号为XX的gpio
cpiochipXX 编号从XX开始的gpio组
所以我们要打开设备就应该有一个标示机器运作的电路图或者说内存gpio管理的值
类似这样的图,可以让我们知道某个设备在gpio组中的第几号位,比如这显示CPIONC—17 可以理解为在NC组中的第17号位置,
那么它的gpioXX中的XX就是NC组中的base位+17就等于我们这个值了
6、得到了gpio地址,我们就开始要把地址导出了 使用echo XX>export 终端会显示成功,如果显示没找到那就是XX计算错误
7、cd 到gpioXX文件夹下 使用ls查看信息可以看到地下有value direction ,我们就修改direction的值为out或者high,设置value的
值是1 。使用语句 echo high>direction echo 1 >value
如果这两步没问题的话 那你的设备应该就打开了,接下来你就根据外部提供的demo对接设备了
参考路径:
http://blog.sina.com.cn/s/blog_7880d3350102w2um.html