A5D2 GPIO测试

1. 首先构建设备树,此例中,测试两个GPIO管脚,一个做输入中断,一个做输出


每个GPIO需要分别描述,其中,label随意,pioA后面的数字,可以在sama5d2-pinfunc.h文件中找到


这是管脚功能复用的配置,把他们配置成普通的GPIO


2. 使用compatible = "gpio-test" 这个名字,构建一个平台总线驱动程序,系统会自动调用probe函数

    然后,我们在probe函数里再构建一个字符设备驱动即可。


3. 在驱动中,我们需要操作gpio口,比如得到其电平值,置电平值,申请中断,在a5d2的驱动里,都需要用到

gpio_desc这个结构体指针,那我们如何能得到上面两个gpio的gpio_desc指针呢。通过查看例子驱动,发现只要两句

即可。

device_for_each_child_node(dev, child) {
gpiod[i] = devm_get_gpiod_from_child(dev, NULL, child);
i++;
}

这样就可以得到设备树里描述的两个gpio的gpio_desc指针,将它存储在一个指针数组里为后面备用。


4. 那如何操作它呢,a5d2对gpio所有的操作都封装在gpiolib.c文件中。

下面介绍几个常用的函数

gpiod_direction_input  设置gpio为输入

gpiod_direction_output  设置gpio为输出

gpiod_set_value 设置gpio输出电平

gpiod_get_value 得到gpio输入电平

gpiod_to_irq 得到gpio的中断编号,为申请中断用


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

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

相关文章

易飞erp怎么修改服务器ip,易飞连接失败处理方法

●问题描述:所有客户端登陆易飞报错:LeaderWorkCenterADO连接失败1.确认SQL Server的sa密码和易飞系统控制管理员的密码是否一致,重新授权一下;基本就可以解决问题啦!2.如果还是不行,检查一下数据源中是否有…

中如何计算工龄_在Substrate中如何计算交易权重

建议在阅读本文之前,先掌握关于Substrate中交易费用设计的基本概念。如果还没有了解的童鞋,请移步: Kaichao:Substrate 区块链应用的交易费用设计​zhuanlan.zhihu.com读完Substrate区块链应用的交易费用设计的小伙伴,…

wince 6.0 pb

1)删除目录C:/Program Files/Microsoft Platform Builder/6.00下的EtkRemov.inf文件 2)修改系统时间到未来某个时间点 3)新建一个文本文档 4)重命名新建文本文档为EtkRemov.inf 5)改回系统时间

安卓文件共享服务器,安卓文件共享云服务器

安卓文件共享云服务器 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。内网环境下,Windows云服务器之间怎样实现文件夹共…

linux curl命令验证服务器断点续传支持

有个同事说,发现现在对外下载安装包的服务器不支持断点续传,我听了一阵纳闷,lighttpd server对于静态文件应该默认支持断点续传的,登机器查看lighttpd配置文件发现 对断点续传的支持被禁用了,lighttpd的说明里对该配置…

代码补全_AI加持,Kite增加智能代码补全功能:减少一半操作,实时补全

代码补全工具 Kite 近日更新了最新的版本,增加了名为「Intelligent Snippets」的新功能。这一功能可以帮助开发者更为智能和高效的补全 Python 代码中的函数命令了。机器之心报道,机器之心编辑部。Kite 是一个著名的 Python 代码补全工具,支持…

Linux workqueue工作原理

1. 什么是workqueue Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然…

微信获取token服务器处理,微信硬件平台(九) 自己的服务器从微信获取token并保存txt...

1安装crontab:yum install crontabs说明:service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载入配置查看crontab服务状态:service crond status手动启动crontab服务&#xff1a…

Tomcat项目部署过程中的问题

1.项目发布问题 将发布的war包放置在webapp下时,点击bin目录中的startup.bat时,出现黑框一闪, 采用cmd登录时出现 The JRE_HOME environment variable is not defined correctly 2.问题是环境变量没有配置好 下面进行系统的配置(前…

centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程

Nginx是一种快速、轻量级的Web服务器,优势是Nginx的配置文件非常简单易用。它是Apache Web服务器的绝佳替代品。在本文中,惠主机将简单介绍如何在CentOS 8上安装Nginx Web服务器和常见基本配置过程。安装NginxNginx在CentOS 8的官方软件包存储库中可用。…

思科模拟服务器怎么写文件,思科模拟服务器配置教程

思科模拟服务器配置教程 内容精选换一换部署游戏应用前,您需要准备硬件以及华为云的环境,主要包括以下内容:硬件环境:您需要准备一台带有显卡的Windows机器,硬盘至少20G,用于运行游戏客户端。若您不需要运行…

vs2013编译osg缺少mfc120d.lib

因为MFC MBCS DLL缺少导致的,微软的解释如下(http://msdn.microsoft.com/en-us/library/dn251007.aspx): MFC libraries (DLLs) for multibyte character encoding (MBCS) are no longer included in Visual Studio, but are avai…

【转载】MongoDB 1000W级数据 Insert和Query和Delete性能测试

加索引测试: > db.users.getIndexes() [ { "name" : "_id_", "ns" : "test.users", "key" : { "_id" : …

名词解释说明用英语怎么说_“恍然大悟”用英语怎么说?

当我们对思考已久的事情,突然明白或醒悟时,可以说是“恍然大悟”了。那么问题来了,“恍然大悟”用英语该怎么说呢?① it occurs to me这是一个使用频率很高的表达,日常生活中经常会用到。在美剧《摩登家庭》中&#xf…

彩虹六号服务器显示,彩虹六号怎么看自己在什么服务器 | 手游网游页游攻略大全...

发布时间:2015-09-10在游戏中新手玩家要注意些什么呢?今天就为大家带来新手必看技巧汇总,一起来看看吧. 新手必看技巧大全: 1.开局遇到人别急着标记,尽量先找到目标位置 2.如果开局 ...标签:发布时间:2016-04-29彩虹六号:围攻 地图攻略 总统…

再次遇到谓词推入

explain plan for with aa as(select a.agmt_id,sum(c.acct_bal) as card_bal, --借记卡期末存款余额a.card_open_org,a.OPEN_DATE, -- 发卡日期 a.CARD_NEW_STATUS, -- 卡片状态 a.cust_magr, -- 客户经理号 a.cust_no, -- 客户号a.corp_orgfrom dwf.f_agt_cadb_book_…

OSG+VS2013+Win7 环境搭建,osgvs2013

最近在学习虚拟现实,要使用OpenSceneGraph(OSG),但是网上找不到VS2013的搭建教程,好烦。。。 只能自己在vs2010的基础上,修改一些bug,最后成功搭建。 步骤一:材料准备 a) Osg源码 当…

ShardedJedisPool 中可用连接数的小bug

ShardedJedisPool中,returnBrokenResource() 及 returnResource() ,为施放资源、关闭连接的方法,若重复调用,导致 _numActive 当前活动数一直递减,会出现负数的情况。 假如在一个方法中设置了三个jedis连接&#xff0c…

Linux设备树翻译计划

本文翻译自Device Tree Usage主页: http://devicetree.org/Device_Tree_Usage 此译文为本人原创,若要转载请注明!Linux device tree的背景(引用自宋宝华博客):Linus Torvalds在2011年3月17日的ARM Linux邮件…

像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

postman介绍&测试准备postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备:测试前,需要安装好postman, 客户端版本跟插件版本都行,根据个人需要选择安…