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,一经查实,立即删除!

相关文章

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

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

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

安卓文件共享云服务器 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、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…

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

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

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

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

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

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

OSG+VS2013+Win7 环境搭建,osgvs2013

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

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

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

浅析STL allocator

一般而言,我们习惯的 C 内存配置操作和释放操作是这样的: 1 class FOO{}; 2 FOO *pf new FOO; 3 delete pf; 我们看其中第二行和第三行,虽然都是只有一句,当是都完成了两个动作。但你 new 一个对象的时候两个动作是&#xff…

十六进制除法运算法则_苏教版数学七年级上册 微课视频 2.6 有理数的乘法与除法(1)...

第一章《数学与我们同行》视频讲解 同步练习2.1 《正数与负数》2.2 有理数与无理数2.3 数轴2.4 绝对值与相反数(1)2.4 绝对值与相反数(2)2.5 有理数的加法与减法(1)2.5 有理数的加法与减法(2)2.6 有理数的乘法与除法(1)七、有理数的乘除法1.有理数的乘法法则法则一&#xff1…

a5d27 emmc启动 修改1

a5d27第1级bootloader是从sdhc0(emmc)加载还是从sdhc1(sd卡)加载, 只需要修改board/sama5d2_xplained文件即可 修改CONFIG_SDHC* y 这个宏定义在board/sama5d2_xplained.c中的void at91_sdhc_hw_init(void)函数实现 从上面代码可以看出第1级的bootloader只支持一…

矩阵每一行重复_【剑指offer】65 矩阵中的路径

- 题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一…

mysql5.464位下载_MySQL Front 64位

MySQL-Front是一款实用的MYSQL数据库管理工具,软件自带了简体中文语言,与mysql数据库连接后就可以对其地蚝各类管理操作了,比如对域进行编辑、增加和删除,执行sql脚本或者导出数据库等操作,除此之外还可以将数据库保存…

a5d27 第1级bootloader启动问题

drivers/sdhc.c里的 static int sdhc_set_clock(struct sd_card *sdcard, unsigned int clock) 这段代码总是会超时,造成启动失败。 log如下图

LDA-Latent Dirichlet Allocation 学习笔记

以下内容主要基于《Latent Dirichlet Allocation》,JMLR-2003一文,另加入了一些自己的理解,刚开始了解,有不对的还请各位指正。 LDA-Latent Dirichlet Allocation JMLR-2003 摘要:本文讨论的LDA是对于离散数据集,如文本集&#xf…

app 图标规格参考表

转自:http://www.cocoachina.com/appstore/top/2012/1105/5031.html 像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺寸,为了方便自己、方便大家,我制作了下面的图表供大家参考。 iPhone、i…

mysql数据库开启远程连接_安装MySQL数据库并开启远程访问

一、安装MySQL数据库MySQL安装在系统盘下(C:\Program Files),方便系统备份。1.双击安装程序,勾选“I accept the license terms”,点击“Next”按钮。2.检测需要的安装,直接点击Next。3.按照下图所示步骤安装。4.设置密码&#xf…