完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在嵌入式设备中控制GPIO 一般做法是通过写一个单独的驱动程序。而大多数资料显示都是使用这一种方法。 但其实Linux下有一个通用的 GPIO 控制接口, 就是 sysfs文件系统 什么是sysfs文件系统 sysfs 是 Linux 2.6 引入的一个新型文件系统,是一个基于内存的文件系统,它的作用是 将内核信息以文件的方式提供给用户程序使用。 该文件系统的目录层次结构严格按照内核的 数据结构组织。 sysfs 提供一种机制,使得可以显式的描述内核对象、对象属性及对象间关系。sysfs 有 两组接口,一组针对内核,用于将设备映射到文件系统中,另一组针对用户程序,用于读取 或操作这些设备。 大意就是 sysfs 将设备映射到文件系统中来, 并提供一定的接口用于操作这些外设。 sysfs提供了什么样的接口 因为这次重点是使用GPIO,主要看看 /sys/class/gpio 目录下的内容 有两个接口 * /sys/class/gpio/export 文件用于通知系统需要导出控制的GPIO引脚编号 * /sys/class/gpio/unexport 用于通知系统取消导出 */sys/class/gpio/gpiochipX 目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始编号base,寄存器名称,引脚总数 导出一个引脚的操作步骤 GPIO引脚编号是什么 引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数 例如 GPIO3.26: 3 * 32 + 26 = 122 向/sys/class/gpio/export写入此编号,比如122号引脚,在shell中可以通过以下命令实现,命令成功后生成/sys/class/gpio/gpio122目录,如果没有出现相应的目录,说明此引脚不可导出. 不可导出有两个原因。 1)没有这个外设 2)外设在其他复用功能中占用 使用sysfs文件系统控制LED 查看官方文档可知,使用AP-Demo 板子上的LED必须接上4个跳线帽, 如下图显示。
可以看到 出现了 gpio122 目录 目录里面的文件用于修改GPIO的功能。 direction:修改端口输出输入方向 value:端口的值 我们需要点亮LED灯,必须设置GPIO为输出。
GPIO 输出低电平 此时LED1点亮。
|
|
相关推荐
|
|
试用报告的发帖积分可以改为0分哈!系统默认是1个积分就变成悬赏提问帖了。
|
|
|
|
|
|
我确定有改的。 但还是会变悬赏帖。 之前都不会, 可能是换了 win10. IE版本不同的问题。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1833个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36067 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4196 浏览 0 评论
5789 浏览 1 评论
6573 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4021 浏览 0 评论
467浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
437浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
438浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
527浏览 2评论
566浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-21 16:15 , Processed in 1.086516 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号