【应用开发二】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. 传统的向量检…

001 SpringMVC介绍

文章目录 基础概念介绍BS和CS开发架构应用系统三层架构MVC设计模式 SpringMVC介绍SpringMVC是什么SpringMVC与Spring的联系为什么要学习SpringMVC 六大组件介绍六大组件(MVC组件其他三大组件)说明 基础概念介绍 BS和CS开发架构 一种是C/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…

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…

php反序列化漏洞简介

目录 php序列化和反序列化简介 序列化 反序列化 类中定义的属性 序列化实例 反序列化实例 反序列化漏洞 序列化返回的字符串格式 魔术方法和反序列化利用 绕过wakeup 靶场实战 修复方法 php序列化和反序列化简介 序列化 将对象状态转换为可保持或可传输的格式的…

Linux—系统安全及应用

目录 一、账号安全控制 1、系统账号清理 1.1、将用户账号设置为无法登录 1.2、锁定长期不使用的账号 1.3、删除无用的账号 1.4、锁定账号文件passwd、shadow 2、密码安全控制 2.1、设置密码有效期 2.1.1、适用于新建用户 2.1.2、适用于已有用户 2.2、强制用户下次登录…

①常用API----Math

public static int abs(int a) // 返回参数的绝对值 public static double ceil(double a) // 返回大于或等于参数的最小整数 public static double floor(double a) // 返回小于或等于参数的最大整数 public static int round(f…

ETAS工具导入DEXT生成Dcm及Dem模块(一)

文章目录 前言Cfggen之前的修改ECU关联DcmDslConnectionDiagnostic ProtocolDiagnostic Ecu Instance PropsCommonContributionSetEvent修改communication channel总结前言 诊断模块开发一般是先设计诊断数据库,OEM会释放对应的诊断数据库,如.odx文件或.cdd文件。如果OEM没有…

如何修复Power BI【View usage metrics report】指标报表数据源更新问题?

故事背景 有朋友留言询问:通过我之前写的 想知道Power BI用户访问报告的次数?快来学习! 这篇文章,了解了如何查看Power BI用户访问报告的详情。 但是最近由于创建【View usage metrics report】指标报表的小伙伴离职了&#x…