单片机/MCU论坛
登录
直播中
疯壳科技
7年用户
1201经验值
擅长:嵌入式技术
私信
关注
[资料]
【嵌入式开发教程4】疯壳·平板电脑-设备按键驱动实验教程
嵌入式开发
平板电脑
按键
驱动实验
教程
设备按键驱动实验教程
——疯壳·嵌入式平板开发
第一节 引言 --- 如何看一个 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, 2022-7-21 15:01 上传)
回帖
(1)
青岛有限公司
2022-7-22 22:00:01
非常感谢友友的分享。。。。。。。。。。。
非常感谢友友的分享。。。。。。。。。。。
举报
更多回帖
rotate(-90deg);
回复
相关帖子
嵌入式开发
平板电脑
按键
驱动实验
教程
【
开发
教程7】手把手教你做
平板
电脑
-Camera
驱动
实验
教程
2022-08-16
3193
【
嵌入式开发
教程9】
疯
壳
·
平板
电脑
-G-sensor
驱动
实验
教程
2022-07-26
7241
【
嵌入式开发
教程8】
疯
壳
·
平板
电脑
-WIFI
驱动
实验
教程
2022-07-26
6169
【
嵌入式开发
教程7】
疯
壳
·
平板
电脑
-Camera
驱动
实验
教程
2022-07-26
5743
【
嵌入式开发
教程6】
疯
壳
·
平板
电脑
-音频
驱动
实验
教程
2022-07-25
5339
【
嵌入式开发
教程5】
疯
壳
·
平板
电脑
-触摸屏
驱动
实验
教程
2022-07-22
6050
【
嵌入式开发
教程3】
疯
壳
·
平板
电脑
-LCD
驱动
实验
教程
2022-07-20
6003
【
嵌入式开发
教程2】
疯
壳
·
平板
电脑
-GPIO
驱动
实验
教程
2022-07-19
5685
【
疯
壳
·
嵌入式开发
教程8】手把手教你做
平板
电脑
-WIFI
驱动
实验
教程
2022-06-09
2581
【
疯
壳
·
嵌入式开发
教程7】手把手教你做
平板
电脑
-Camera
驱动
实验
教程
2022-06-09
2086
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分