【应用开发二】GPIO操控(输出、输入、中断)

1 操控GPIO方式

控制目录:/sys/class/gpio
/sys/class/gpio目录下文件如下图所示:
在这里插入图片描述

1.1 gpiochipX目录

功能:当前SoC所包含的所有GPIO控制器

i.mx6ull一共包含5个GPIO控制器,分别为GPIO1~5分别对应gpiochip0gpiochip32gpiochip64gpiochip96gpiochip1285个文件夹。每个gpiochipX控制一组GPIO。随便进入一个gpiochip X目录,内容如下图所示:
在这里插入图片描述
主要关注的目录是baselabelngpio这三个属性文件,这三个属性文件均是只读,不可写

  • base:表示该控制器所管理的这组GPIO引脚中的最小编号。数值上与gpiochipX中的X值相同。
    在这里插入图片描述
  • lable:该组GPIO对应的标签,也就是名字
    在这里插入图片描述
  • ngpio:该控制器所管理的GPIO引脚数量(所以引脚编号范围是:base~base+ngpio-1)
    在这里插入图片描述

1.2 export

功能:用于将指定编号的GPIO引脚导出

GPIO 引脚在使用之前,需要将其导出,导出成功之后才能使用。将一个指定的编号N写入到export文件中,即可将对应GPIO引脚导出。export为只写文件,不能读取。文件导出之后,将在/sys/class/gpio目录下生成一个名为gpioN的文件夹用于管理、控制GPIO引脚。
在这里插入图片描述

1.3 unexport

功能:删除导出的GPIO引脚

使用完GPIO引脚之后,需要将导出的引脚删除,同样该文件为export为只写不可读文件
删除成功之后,之前生成的GPIO文件就会消失!

注:并不是所有的文件夹都可以导出成功,如果引脚在内核中被使用了,就会导出失败。

gpioX目录

功能:gpio引脚控制器

以前面生成的gpio0为例,进入到gpio0目录,该目录下的文件如下图所示:
在这里插入图片描述
主要关心文件为:active_lowdirectionedge以及value

  • direction:配置gpio引脚输入输出模式。可读可写
    表示当前gpio引脚是输入还是输出模式。
    写:配置gpio方向
    读:获取引脚方向
    读取或写入值:

      "out"  ->  输出 "in"  ->   输入
    
  • value:引脚值

    • 输入模式:
      “0” -> 输出低电平
      “1” -> 输出高电平
    • 输入模式:
      读取value文件获取当前引脚电平状态
  • active_low:控制极性,可读可写,默认0
    与value结合使用。

    # active_low 等于 0 时
    echo "0" > active_low
    echo "out" > direction
    echo "1" > value  #输出高
    echo "0" > value  #输出低# active_low 等于 1 时
    $ echo "1" > active_low
    $ echo "out" > direction
    $ echo "1" > value #输出低
    $ echo "0" > value #输出高
    
  • edge:中断触发模式

    "none":非中断引脚
    "rising":上升沿触发
    "falling":下降沿触发
    "both":边沿触发
    

    当引脚被设置为中断后,使用poll()函数监听引脚的电平状态变化

2 程序

GPIO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频共享融合赋能平台LntonCVS安防监控平台现场方案实现和应用场景

LntonCVS国标视频融合云平台采用端-边-云一体化架构,部署简单灵活,功能多样化。支持多协议(GB28181/RTSP/Onvif/海康SDK/Ehome/大华SDK/RTMP推流等)和多类型设备接入(IPC/NVR/监控平台)。主要功能包括视频直…

【2024大语言模型必知】做RAG时为什么要使用滑动窗口?句子窗口检索(Sentence Window Retrieval)是什么?

目录 1. 传统的向量检索方法,使用整个文档检索,为什么不行? 2.句子滑动窗口检索(Sentence Window Retrieval)工作原理 3.句子滑动窗口检索(Sentence Window Retrieval)的优点 1. 传统的向量检…

区块链的技术架构:节点、网络和数据结构

区块链技术听起来很高大上,但其实它的核心架构并不难理解。今天我们就用一些简单的例子和有趣的比喻,来聊聊区块链的技术架构:节点、网络和数据结构。 节点:区块链的“细胞” 想象一下,区块链就像是一个大型的组织&a…

001 SpringMVC介绍

文章目录 基础概念介绍BS和CS开发架构应用系统三层架构MVC设计模式 SpringMVC介绍SpringMVC是什么SpringMVC与Spring的联系为什么要学习SpringMVC 六大组件介绍六大组件(MVC组件其他三大组件)说明 基础概念介绍 BS和CS开发架构 一种是C/S架构,也就是客户端/服务器…

启动Redis服务器

名人说:一点浩然气,千里快哉风。 ——苏轼 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、在 Linux 或 macOS 上启动 Redis二、在 Windows 上启动 Redis三、配置 Redis 为服务启动&…

ExVideo: 提升5倍性能-用于视频合成模型的新型后调谐方法

标题:ExVideo: Extending Video Diffusion Models via Parameter-Efficient Post-Tuning作者: Zhongjie Duan; Wenmeng Zhou; Cen Chen; Yaliang Li; Weining QianDOI: 10.48550/arXiv.2406.14130摘要: Recently, advancements in video synthesis have attracted s…

【IJCAI2024】LeMeViT: Efficient Vision Transformer with Learnable Meta Tokens

【IJCAI2024】LeMeViT: Efficient Vision Transformer with Learnable Meta Tokens for Remote Sensing Image Interpretation 论文:https://arxiv.org/abs/2405.09789 代码:https://github.com/ViTAE-Transformer/LeMeViT 由于相邻像素和图像块之间的高…

【2024年更新】ZF关注度指数大合集(包含8类数据)

数据简介:共包含8类数据 1. 地方ZF环境关注度指数:2007-2021 2. 地方ZF数字关注度指数:1999-2021 3. 省级ZF数字关注度指数:2001-2024 4. 农业新质生产力ZF关注度指数:2001-2024 5. 新质生产力ZF关注度指数&#…

c语言入门

c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程…

关于怎么将wireshark抓包视频流转为视频播放出来

0.安装wireshark 安装PotPlayer 1.将以下两个插件放入 C:\Program Files\Wireshark\plugins 目录中 2.筛选视频流数据包,右键Decode As… 改为RTP 或者 右键->follow(追踪流)->UDP stream 然后叉掉弹窗 3.选择菜单Edit->Prefe…

js取数组最大值之Math.max、Math.max.apply

js取数组最大值之Math.max、Math.max.apply Math.maxMath.max.applyapply()第一个参数为什么可以是null 最小值同理 Math.max Math.max(n1,n2,n3,…,nX) 支持传递多个参数,带有较大的值的那个数 Math.max(2,5,3,6,2,4,2,15,9,6,0,1)Math.max.apply apply() 语法&a…

shell编程实战

1.1 shell脚本编程的步骤 需求分析:确定功能 命令测试:确定脚本需要的关键命令 编辑脚本 测试脚本 1.2 操作 1.2.1 实验一 1.需求描述 (1)统计网络中的服务器的mac 注:ARP,地址解析协议 注: (2)检查哪些主机开…

《玫瑰的故事》为何能触动亿万观众的心?

大家最近有看神仙姐姐的新剧嘛? 《玫瑰的故事》作为一部备受瞩目的作品,其影响力不仅在于精彩的剧情和演员们精湛的演技,更在于它所传达的深刻情感和人生哲理。而这部作品之所以能够大爆并引起大批观众的共鸣,背后也有着更多重的原因。 一…

ingress相关yaml文件报错且相关资源一切正常解决方法

今天在执行ingress相关文件的时候莫名其妙报错了,问了别人得知了这个方法 执行ingress相关文件报错 01.yaml是我自己创建关于ingress的yaml文件 报错信息 且相关资源一切正常 解决方法 kubectl get validatingwebhookconfigurations删除ingress-nginx-admissio…

深入探索大模型的魅力:前沿技术、挑战与未来展望

目录 一、大模型的前沿技术 二、大模型面临的挑战 三、大模型的未来展望 四、总结 在当今人工智能领域,大模型不仅是一个热门话题,更是推动技术进步的重要引擎。从深度学习的浪潮中崛起,大模型以其卓越的性能和广泛的应用前景&#xff0c…

快速降低地平线4延迟 极限竞速地平线4延迟严重这样做

极限竞速地平线4全新的开放式剧情设计,让玩家的每一次驾驶都充满了未知与挑战。与此同时,现实世界的玩家也将与玩家一同在这片土地上驰骋。在这里,时间、天气和四季的变化都仿佛触手可及,玩家将亲身体验到真实而震撼的赛车世界。在…

20240624(周一)AH股行情总结:A股低开低走, 恒生科技指数跌2%,贵州茅台转跌为涨

内容提要 A股三大指数收盘均跌超1%,半导体、智慧医疗、商业航天概念领跌,中芯国际跌超3%,盘中一度涨2%。水电股逆势走强;白酒股低开高走,贵州茅台翻红,盘初曾跌3%。微盘股指数大跌4%。 正文 周一&#x…

数据恢复篇:如何在Android上恢复删除的短信

如果您不小心删除了Android设备上的短信并想要检索它们,则可以尝试以下方法: 如何在Android上恢复删除的短信 检查您的备份: 如果您之前备份了Android设备,则可以从备份中恢复已删除的短信。检查您设备的内部存储空间或 Google 云…

Halcon 重叠区域 显示汉字 图像分割

一 如何填充区域之间的GAP或分割重叠区域 read_image(Image,fabrik)*区域生长法将图像分割成相同强度的区域,并将其划分成大小为行*列的矩形。 为了确定两个相邻的矩形是否属于相同的区域, *仅使用其中心点的灰度值。 如果灰度值差小于等于公差&#xff…

Flask路由和视图

Flask路由和视图 一、 路由系统 1. 路由系统基础 路由装饰器: Flask使用装饰器app.route来将URL规则绑定到视图函数上。 装饰器可以指定路径规则(rule)、请求方法(methods)、以及别名(endpoint&#xff…