如何进行GPIO驱动使用

发布时间:2022-01-06 15:35:55 作者:柒染
来源:亿速云 阅读:390

本篇文章给大家分享的是有关如何进行GPIO驱动使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

CB的GPIO控制操作
板子使用的操作系统是官方标准系统1.1版本的linaro官方img的,本身已经带gpio驱动文件。
1.官方驱动为gpio-sunxi.ko,位于 /lib/modules/3.0.62/kernel/drivers/gpio/gpio-sunxi.ko。
2.因为系统启动后并没有加载该驱动模块,需要用户自行插入,使用insmod命令即可。之后lsmod可以看到gpio-sunxi.
当然也可以编辑/etc/modules,在其中加入gpio-sunxi.ko。重启后lsmod检查是否已经加载。
3.驱动加载完毕后就可以操作GPIO口了。
对于GPIO口的操作,需要有以下三个步骤:
1).需要指明需要操作的端口号。
echo 4 > /sys/class/gpio/export 
ls /sys/class/gpio 
会出现我们需要的端口文件夹 gpio4-pe4,
如果 echo 1 > /sys/class/gpio/export  似乎出现 gpio1-pe1。
2)打开gpio4-pe4,或者 ls gpio4-pe4,可以看到gpio4-pe4里面的文件,有2个文件与我们操作有关:
分别是 direction 和 value ,可以看出分别代表端口的方向 和端口的值。
对于direction ,可以写入echo out > /sys/class/gpio/gpio4-pe4/direction 设置该端口为输出端。如果不设置,则写入数据也没有反应。
3)端口设置或清零.
通过向value文件写入1或者0来完成端口的设置或清零。
echo 1 > /sys/class/gpio/gpio4-pe4/value ;set 1.
通过上述3个步骤就可完成对GPIO端口的选择、设置、和使用。
但是在使用中发现问题及解决方法:
1 gpio-sunxi.ko驱动不会自动被系统加载,每次启动后需要自己加载,比较麻烦。
解决方法:编辑 /etc/modules 添加gpio驱动模块。之后每次重启后,系统自动加载GPIO模块。
2.每次系统重启后都需要重新设置GPIO口,配置端口方向。
解决方法:编辑 /etc/rc.local,在exit前 加入
echo 1 > /sys/class/gpio/export 
echo out > /sys/class/gpio/gpio4-pe4/direction
完成对GPIP口的选择和端口设置。
3.对于 /sys的操作 需要chmod一下权限。chmod -R 777 /sys .
这也需要编辑/etc/rc.local来实现。
另外,这次我利用CB实现的功能是与ttl智能门锁类似,我是使用手机来控制照明灯。
基本的架构也是利用 LNMP来做服务器,利用php语言对  /sys/class/gpio/gpio4-pe4/value进行读写操作来完成的。
这里需要注意的是 nginx服务器的网站目录设置,之前设置在 /etc/nginx/www/不能完成对 /sys/..的操作。
后来重新修改了网站站点目录,直接设置到 / 下,就可完成对 /sys 文件的操作了。

以上就是如何进行GPIO驱动使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 06-GPIO实验
  2. 各个平台gpio在linux下的使用实战

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

gpio

上一篇:导致租用服务器不能正常运行的原因是什么

下一篇:SRM系统该怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》