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的中断编号,为申请中断用
A5D2 GPIO测试相关推荐
- RPi 2B GPIO 测试
/*************************************************************************************** RPi 2B GPIO ...
- 【STM32 .Net MF开发板学习-02】GPIO测试
前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...
- 测试逐飞的MM32F3277 MicroPython开发板的基本功能
简 介: 对于给定的MicroPython移植版本进行了初步的测试.对比之下,MCU中还有很多的模块尚未支持.这些工作需要近期尽快补充测试完毕. 关键词: MM32,MicroPython #merm ...
- python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯
树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...
- python控制灯_Python 控制树莓派 GPIO 输出:控制 LED 灯
树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...
- python控制树莓派gpioled,Python 控制树莓派 GPIO 输出:控制 LED 灯
树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...
- imx6ull-qemu 裸机教程1:GPIO,IOMUX,I2C
无意间搜到了韦东山老师的6ul网站,上面有一个6ul的qemu仿真器,下载下来用了用,非常好用,有UI,比原装的qemu-system-arm提供的6ul开发板多了很多功能. 下面贴出的就是韦东山老师 ...
- gpio控制和相关操作
一.gpio基础信息 现在总结下GPIO口的八种工作状态,其中四种输入状态,四种输出状态 参考:GPIO口的八种工作状态_沙漠那点绿的博客-CSDN博客_gpio三种状态 输入: 1 上拉输入:默认情 ...
- CH9344 Windows驱动安装与GPIO使用教程
文章目录 简介 驱动说明 资源链接 Windows驱动下载地址 参考设计与GPIO应用软件 驱动安装步骤 GPIO使用介绍 简介 USB 转四串口芯片 CH9344 用于为 USB 主机扩展 4 路高 ...
最新文章
- (转)WinForm控件使用文章收藏整理完成
- Silverlight C# 游戏开发:L2 自定义模型导入
- C# 将PDF转为Excel
- wamp替换mysql_将wamp集成的mysql替换成安装版的
- django Sometimes request.session.session_key is None
- 一起玩转玩转LiteOS组件:Opus
- django访问mysql数据库--模型(model)
- 三星死守中国市场,强撑溢价难挽回颓势吗?
- 数学与计算机科学奖王小云,2019 数学与计算机科学奖 获奖人 —— 王小云 - 未来科学大奖...
- 是否采用SD-WAN?你需要先考虑以下问题
- python stderr 中文_【Python入门教程】 超详细讲解,1小时学会Python(不会来找我!)...
- timer计时 wpf_『WPF』Timer的使用
- c语言编译器 代码优化,C语言 之编译器优化
- python实数符号_下列格式化符号中,用来表示浮点实数的是()。 (6.0分)_学小易找答案...
- java将字符串变小写变大写_Java 实例 – 字符串小写转大写
- WindwosAndroid浏览器内核版本检测
- 目标检测中文类别--在图片中添加汉字
- 韶音骨传导耳机怎么样?南卡和韶音在线评测对比
- poi 使用模板导出数据
- QT写word的三种方式
热门文章
- jquery.easyui常用示例
- android添加商品到购物车,Android使用动画动态添加商品进购物车
- linux date 常用格式,5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令...
- ueditor百度富文本编辑器linux下报错: class path resource [config.json] cannot be resolved to absolute file path
- php代码导入sql,php导入SQL文件(示例代码)
- 关于目录操作walk
- 【02】Kubernets:使用 kubeadm 部署 K8S 集群
- web.xml 配置文件 超详细说明!!!
- ABP框架使用 Swagger
- Arch Linux 安装总结