嵌入式Linux开发实操(十三):GPIO接口开发

news2025/1/16 3:58:06

从版本4.8开始,Linux内核引入了一个新的基于字符设备的用户空间API,用于管理和控制GPIO(通用输入/输出),在Linux内核4.8之前,在用户空间中管理GPIO的唯一接口是sysfs接口,pio通过/sys/class/gpio中的导出文件进行配置和控制,可以通过该接口执行的基本GPIO操作,比如:

1、Export a GPIO via /sys/class/gpio/export
2、Configure the GPIO direction (input/output) via: /sys/class/gpio/gpioX/direction
3、Read/write GPIO value via /sys/class/gpio/gpioX/value

 具体操作如下图:

但这个接口有些缺点,比如缺乏批量GPIO读写、GPIO配置选项有限(如:无法将GPIO配置为低电平、漏极开路、开源等),当两个或多个进程同时访问同一GPIO时,可能会出现竞争条件问题,GPIO的轮询事件不可靠等。从4.8版本开始,Linux内核引入了一个新的基于字符设备chardev的用户空间GPIO接口。

 

GPIO控制器的接口在用户空间中以字符设备的形式提供࿱

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

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

相关文章

【论文】2102.DALL-E: Zero-Shot Text-to-Image Generation(文字生成各种各样充满想象图像的开端)

主要参考: openai官网:https://openai.com/blog/dall-e/ 2102.DALLE: Zero-Shot Text-to-Image Generation 2204.DALLE-2 : Hierarchical Text-Conditional Image Generation with CLIP Latents 论文资源网盘下载:https://pan.ba…

独立站在线聊天插件,打造24小时在线客服

独立站的每一个访客都是潜在客户。通过在线聊天,可以提升访客的信任,进一步转化为真实的客户。但是独立站管理者不可能每时每刻都盯着后台,等着客户来提问,然后回复客户。所以独立站拥有在线聊天的功能是有必要的。 而SaleSmartl…

QtConcurrent和QFuture的使用

在Qt中,有时候我们会遇到这样一种情况,需要执行一个很长时间的操作,这时候我们的主界面就会卡住。我们的通常做法就是把这个很长时间的操作扔到线程里去处理,可以使用标准库中的线程也可以使用QThread。 如果我们要在这个很长时间…

MySQL的共享锁和排他锁

锁定读 Locking Reads 有过编程语言并发学习经验的同学,应该都了解过读写锁的概念。读写锁主要是为了解决多读少写条件下,程序的并发性能问题。它的特点即是:如果一个线程持有了读锁,那么其他线程也是可以继续读取它锁定的数据&a…

PCIE WIFI与金手指转接设计

PCIE转接口设计: 金手指转接设计 类似的芯片的框图:

Python 利用Matplotlib制作初中时圆规画的图

背景 大家在初中时,开始学习圆相关的知识,涉及圆的半径、周长、面积 等等,那会每位同学基本都会买一套圆规、三角板,来辅助学习和做作业使用,这些学习工具在闲暇时光也被用来玩耍,偶然间就拿着圆规在纸上画…

【零散技术】10分钟学会 Odoo Widget many2many_tags的使用与拓展

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 1.基本使用 widget “many2many_tags”是我们常用的视图组件,使用后会badge形式展示数据,未使用widget则只显示 (x记录) 2.自定义显示内容 使用 many2many_tags后默认显示模型中的…

Oracle报错 PLS-00103: 出现符号 ““在需要下列之一时

在IDEA中执行以下SQL时,报了这个异常 检查了语法,你会发现语法没有任何问题,标点也没有任何问题。 罪魁祸首在这: 换行符为CRLF,我们需要改成LF 即可执行成功

护眼灯买什么样的好?分享五款护眼灯

护眼台灯的光照一般比较均匀,相比普通台灯,一般具有防蓝光、防频闪等功能,能够提供一个健康舒适的学习、生活灯光环境,建议选购内置智能感光模式的护眼台灯,以确保灯光亮度一直处于均衡状态,让眼睛更轻松。…

ARDUINO STM32 SSD1306

STM32F103XX系列SPI接口位置 在ARUDINO 下,(不需要设置引脚功能,不需要开启时钟设置,ARDUINO已经帮我们处理了) stm32f103c6t6 flash不足,不足以运行U8G2,产生错误 改用U8X8,后将字体改为u8x8_…

5V升压充电8.4V管理IC

在我们小家电设计当中USB口的5V输入升压到8.4V输出,使用一颗SOP8的升压充电芯片,直接升压到8.4V.电流在1A左右。2,USB输入,5V升压8.4V,充电1A,内含专门的双节锂电池充电管理逻辑和LED指示灯,我们…

大学生该怎么认清当下的就业环境呢?

大学生毕业后进入职场,面临的就业环境也在不断发生变化。为了更好地适应这个变化莫测的环境,大学生需要认清当下的就业环境,并做出相应的应对策略。 了解行业趋势,抓住就业机会 如今,各行各业的竞争日益激烈&#xff…

使用nps实现内网穿透

1、介绍 ​ 当我们想把内网的一些资源暴露在公网上时,可以使用内网穿透功能。比如公司的内网服务器,部署了平时需要开发的项目,但是回到家中无法访问,就可以使用内网穿透,将公司内网的接口映射到一台公网的服务器上&a…

现浇钢筋混泥土楼板施工岗前安全VR实训更安全高效

建筑行业天天与钢筋混凝土砼在,安全施工便成了企业发展的头等大事。 当今社会,人人都奉行生命无价,安全至上。可工地安全事故频繁发生,吞噬掉多少宝贵生命。破坏了多小个家庭?痛定死痛,为了提高施工人员的安全意识。 …

多目标优化

https://zhuanlan.zhihu.com/p/158705342 概念 单目标优化只有一个优化目标,所以可以比较其好坏。 但是多目标优化,在需要优化多个目标时,容易存在目标之间的冲突,一个目标的优化是以其他目标劣化为代价的,所以我们要…

CUDA小白 - NPP(2) -图像处理-算数和逻辑操作(2)

cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化,具体的可以参考别的博主的介绍,都比较详细。还有一些cuda中的专有名词的含义,可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus&#xf…

Vue项目直接报错

最近自己在做一个vue2项目,vue并不熟悉,所以求解!!! 通过命令:vue create app 创建项目,但打开后,浏览器直接报错,意思为:不能在模块外使用import语句(at ho…

c++ opencv将彩色图像按连通域区分

要将彩色图像按连通域区分&#xff0c;您可以使用 OpenCV 中的 cv::connectedComponents 函数。 下面是一个简单的示例代码&#xff0c;说明如何使用 cv::connectedComponents 函数来检测并标记图像中的连通域&#xff1a; #include <opencv2/opencv.hpp> #include <…

智能制造产业链数字化转型、数字化互联工厂建设方案PPT

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 篇幅有限&#xff0c;无法完全展示&#xff0c;喜欢资料可转发评论&#xff0c;私信了解更多信息。