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测试相关推荐

  1. RPi 2B GPIO 测试

    /*************************************************************************************** RPi 2B GPIO ...

  2. 【STM32 .Net MF开发板学习-02】GPIO测试

    前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...

  3. 测试逐飞的MM32F3277 MicroPython开发板的基本功能

    简 介: 对于给定的MicroPython移植版本进行了初步的测试.对比之下,MCU中还有很多的模块尚未支持.这些工作需要近期尽快补充测试完毕. 关键词: MM32,MicroPython #merm ...

  4. python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯

    树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...

  5. python控制灯_Python 控制树莓派 GPIO 输出:控制 LED 灯

    树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...

  6. python控制树莓派gpioled,Python 控制树莓派 GPIO 输出:控制 LED 灯

    树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧. 树莓派版本:Model 3B+ 树莓派系统:Raspbian Stretch with desktop and recommend ...

  7. imx6ull-qemu 裸机教程1:GPIO,IOMUX,I2C

    无意间搜到了韦东山老师的6ul网站,上面有一个6ul的qemu仿真器,下载下来用了用,非常好用,有UI,比原装的qemu-system-arm提供的6ul开发板多了很多功能. 下面贴出的就是韦东山老师 ...

  8. gpio控制和相关操作

    一.gpio基础信息 现在总结下GPIO口的八种工作状态,其中四种输入状态,四种输出状态 参考:GPIO口的八种工作状态_沙漠那点绿的博客-CSDN博客_gpio三种状态 输入: 1 上拉输入:默认情 ...

  9. CH9344 Windows驱动安装与GPIO使用教程

    文章目录 简介 驱动说明 资源链接 Windows驱动下载地址 参考设计与GPIO应用软件 驱动安装步骤 GPIO使用介绍 简介 USB 转四串口芯片 CH9344 用于为 USB 主机扩展 4 路高 ...

最新文章

  1. (转)WinForm控件使用文章收藏整理完成
  2. Silverlight C# 游戏开发:L2 自定义模型导入
  3. C# 将PDF转为Excel
  4. wamp替换mysql_将wamp集成的mysql替换成安装版的
  5. django Sometimes request.session.session_key is None
  6. 一起玩转玩转LiteOS组件:Opus
  7. django访问mysql数据库--模型(model)
  8. 三星死守中国市场,强撑溢价难挽回颓势吗?
  9. 数学与计算机科学奖王小云,2019 数学与计算机科学奖 获奖人 —— 王小云 - 未来科学大奖...
  10. 是否采用SD-WAN?你需要先考虑以下问题
  11. python stderr 中文_【Python入门教程】 超详细讲解,1小时学会Python(不会来找我!)...
  12. timer计时 wpf_『WPF』Timer的使用
  13. c语言编译器 代码优化,C语言 之编译器优化
  14. python实数符号_下列格式化符号中,用来表示浮点实数的是()。 (6.0分)_学小易找答案...
  15. java将字符串变小写变大写_Java 实例 – 字符串小写转大写
  16. WindwosAndroid浏览器内核版本检测
  17. 目标检测中文类别--在图片中添加汉字
  18. 韶音骨传导耳机怎么样?南卡和韶音在线评测对比
  19. poi 使用模板导出数据
  20. QT写word的三种方式

热门文章

  1. jquery.easyui常用示例
  2. android添加商品到购物车,Android使用动画动态添加商品进购物车
  3. linux date 常用格式,5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令...
  4. ueditor百度富文本编辑器linux下报错: class path resource [config.json] cannot be resolved to absolute file path
  5. php代码导入sql,php导入SQL文件(示例代码)
  6. 关于目录操作walk
  7. 【02】Kubernets:使用 kubeadm 部署 K8S 集群
  8. web.xml 配置文件 超详细说明!!!
  9. ABP框架使用 Swagger
  10. Arch Linux 安装总结