完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
设备按键驱动实验教程 ——疯壳·嵌入式平板开发 第一节 引言 --- 如何看一个 GPIO 按键的电路原理图 下图来源于文档 3128_sdk_a02_20170325.pdf 中第 9 页和第 12 页。 如下第一张图 PMIC_PWRON 引脚在按钮按下前一直保持高电平,按键按下后变成低电平并触发中断休眠/唤醒屏幕。第一张图所示 pmic_pwron 连接的是一个按键电路,第二张图所示 pmic_pwron 连接的是 GPIO0_A2。综上所述,按键可以由 gpio 来实现的。 图1 第二节 按键配置实例 --- 以 GPIO2_D1 为例,高电平触发上升沿来模拟按键被按下 gpio 引脚通常可以配置成输入和输出功能。作为输入功能,一般在 linux 系统里面是以中断的方式来使用;如果作为输出功能一般主要用来提供一个高低电平信号。本文利用 gpio 的输入功能来模拟一个按键。 本章主要以 GPIO2_D1 为例子讲解,给 GPIO2_D1 一个高电平来触发上升沿产生中断操作并串口打印一条语句。 图2 图示红框位置表示将要配置的 gpio 在开发板上的位置 gpio 在电路图中的位置 图3 第三节 rk3128 开发板 gpio 在 DTS 中的配置 rk3128 驱 动 配 置 使 用 的 是 Device Tree 的 方 式 , 所 以 在 kernel 路径 $(dir)rk3128-sourcekernelarcharmbootdts 中 rk3128-study.dts 描述了我们整个系统的驱动配置,gpio 的配置如下所示: 代码1 第四节 实验步骤 1.如何看中断是否注册成功 --- cat /proc/interrupts 我们注册的中断名字是:gpio_input_test 对应于中断号 160 图4 2.kernel 实验步骤 图5 第五节 实验现象 以一根杜邦线为例,低电平触发中断 图6 第六节 AD 按键 什么是 AD 按键:“AD 检测法实现简单实用的按键”,仅仅需要一个 AD 接口和若干的电阻,就可以实现 1 个,2 个,3 个 多个按键输入。原理就是按键按下的时候,IO 口将检测 到不同的电压值。 本节第一张图所示三个按键就组成了 AD 按键并对应不同的阻值报告给 cpu,cpu 检测后知道那个键被按下,相应的 driver 配置看$(dir)rk3128-sourcekernelarcharmbootdts 中rk3128-study.dts 的&adc{ }选项,源代码对应文件是$(dir)rk3128-sourcekerneldriversinputkeyboardrk_keys.c 下图来源于文档 3128_sdk_a02_20170325.pdf 中第 9 页。 图一 AD 按键原理图 图7 图二 cpu 侧接线图 图8 第七节 PMIC_PWRON 休眠/唤醒屏幕 本节主要是继续第一节课的原理图讲解一下屏幕的休眠/唤醒功能(gpio 的一个应用) 相应的 driver 配置看$(dir)rk3128-sourcekernelarcharmbootdts 中 rk3128-study.dts的&adc{...}选项,源代码对应文件是$(dir)rk3128-sourcekerneldriversinputkeyboardrk_keys.c 注意中断响应函数 keys_isr(int irq, void *dev_id),具体的屏幕休眠/唤醒由它来处理。 更多完整学习资料和对应开源套件,请登陆官网:“疯壳” 如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系 文件下载请点击:
4、设备按键驱动实验.pdf
(887.32 KB, 下载次数: 2
)
|
|
相关推荐
|
|
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
366 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
348 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
780 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
848 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
900 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11723 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 14:27 , Processed in 0.715793 second(s), Total 66, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号