按键驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.

Slides:



Advertisements
Similar presentations
站立歪斜或坐姿不端正、習慣性翹腳、長時 間坐在電腦前都會造成我們脊椎歪曲不直, 脊椎一旦彎曲歪斜,很多毛病會跟著來,所 以可以常常做滾背的動作,可以矯正脊椎, 不用快慢慢作,矯正脊椎自己來。
Advertisements

粮油贮藏特性 一、 粮油化学成分与贮藏的关系 1 、水分 自由水含量低:粮食贮存稳定性高; 自由水含量高:粮食呼吸旺盛,仓虫、仓螨、霉菌大量繁殖,从 而出现粮食霉变、虫害现象。 2 、淀粉:在存储粮食时,淀粉是比较稳定的。 3 、可溶性糖 在粮食储存过程中,受环境高温、微生物作用的影响,粮食中淀 粉、蔗糖等的含量逐渐减少,而一些单糖、麦芽糖的含量不断.
1. 吸菸及會導致的傷害 : ※吸菸的短期立即傷害 : 一、 最大的影響在呼吸道的部分,吸菸會在 肺部、支氣管內積聚有毒物質,使肺部細胞破 壞、肺泡漲大、換氣障礙,導致咳嗽不停、呼 吸困難。 2.
第四章 细胞与细胞工程 第一课时 细胞的生物膜系统.
癸巳年魯班先師寶誕賀誕金 各會員及商號樂助列
東南科技大學 春暉社 簡 報.
初中化学知识在日常生活中的应用 ——清 的学问
第11章 绿色运输和绿色物流 运输和大气质量的关系
單 元 簡 報 生態系多樣性及其重要性.
四資二甲 第三週作業 物件導向程式設計.
如果没有植物,地球将失去绿色,动物和人都要饿死。 如果没有动物,生态平衡也难以维持。 如果没有细菌和真菌呢?
第三篇 大气与天气、气候 专题八 大气的组成和垂直分层.
下雨了,快点跑啊~ 呼哧呼哧…… 体液调节 安静时每分钟呼吸次数只有10几次,为什么奔跑时,呼吸会随之加快?
第八章 风湿性疾病 第一节 总论 第二节 系统性红斑狼疮 一、诱因 二、临床表现:皮肤与粘膜的损害 三、治疗与护理措施:皮肤护理:饮食
我國室內空氣品質管理法第一波適法場域輔導設置管理計畫之進度與成效,及第二波預告適法場域與未來之規劃進程
臺北縣政府消防局緊急救護科 救護技術員訓練教材 脊椎外傷病患之處置 主講人:重陽專責救護隊     隊員 李憲賓.
雷 霆 战 机 By—谷恩轩&余万全.
思考: 甲状腺激素产生的部位及生理作用? 机体调节内分泌活动的枢纽是什么?.
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
第三章 控制结构.
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
利用共同供應契約 辦理大量訂購流程說明.
DM8148 A8和M3通信框架 广州创龙电子科技有限公司
OpenMP简介和开发教程 广州创龙电子科技有限公司
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
DM81X 视频采集处理 ——MCFW框架介绍 广州创龙电子科技有限公司
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01
存储设备介绍 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
DM81X 视频采集处理 ——综合采集显示例程讲解 广州创龙电子科技有限公司
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
CH.8 硬體管理.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
实践演练 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
简单PCB设计 广州创龙电子科技有限公司 Simple PCB Design
u-boot环境变量和常用命令 广州创龙电子科技有限公司
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
AM437x平台下Linux驱动的开发流程 广州创龙电子科技有限公司
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
I2C驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
linux驱动模块编程 HelloWorld 广州创龙电子科技有限公司
DM8148与DM8127 ISS框架讲解 广州创龙电子科技有限公司
简单原理图设计 广州创龙电子科技有限公司 Simple Schematic Design
AM5728 视频输入端口VIP软件框架 广州创龙电子科技有限公司
如何生成设备节点 广州创龙电子科技有限公司
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
Linux 文件操作——系统调用和标准 IO 库
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
第五章 中断与异常 中断的基本知识 中断描述符表的初始化 中断处理 中断的下半部处理机制 中断的应用-时钟中断.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
Chapter 7 掌控記憶體.
FPGA 在线调试技术 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd 本节将讲解FPGA的在线调试技术。主要以VIVADO和ISE为例,讲解一下虚拟输入输出VIO (Virtual Input/Output)和集成逻辑分析仪ILA.
AM437x-GPMC接口 讲解 广州创龙电子科技有限公司
保留字與識別字.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
LED驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
Chapter 7 掌控記憶體.
第二章 类型、对象、运算符和表达式.
兒童及少年保護、 家庭暴力及性侵害事件、 高風險家庭 宣導與通報
第二章 基本数据类型 ——数据的表示.
#include <iostream.h>
进程的概念 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

按键驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd

01 编写基于设备树的按键驱动 02 使用内核源码中的驱动——中断方式 03 使用内核源码中的驱动——轮询方式

01 编写基于设备树的按键驱动 第 1 部分

编写基于设备树的按键驱动 GPIO相关函数: IRQ相关函数: GPIO申请:: int gpio_request(unsigned gpio, const char *label) GPIO初始化: int gpio_direction_input(unsigned gpio) GPIO相应的IRQ值: int gpio_to_irq(unsigned gpio) GPIO释放: void gpio_free(unsigned gpio) IRQ相关函数: include/linux/gpio.h gpio_export(unsigned gpio, bool direction_may_change) IRQ申请: int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev) 中断子程序: static irqreturn_t gpio_irq_handler(int irq, void *dev_id) 头文件路径:include/linux/gpio.h include/linux/irq.h include/linux/interrupt.h 04 广州创龙电子科技有限公司

02 使用内核源码中的驱动——中断方式 第 2 部分

使用内核源码中的驱动——中断方式 驱动源码路径:drivers/input/keyboard/gpio_keys.c 06 广州创龙电子科技有限公司

使用内核源码中的驱动——中断方式 设备树配置:Documentation/devicetree/bindings/input/gpio-keys.txt gpio_keys: user_keys@0 { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; autorepeat; pinctrl-names = "default"; pinctrl-0 = <&user_keys_default>; button@0 { label = "user-key0"; linux,code = <KEY_PROG1>; gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; gpio-key,wakeup; }; user_keys_default: user_keys_default { pinctrl-single,pins = < AM33XX_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE7) /* (U5) lcd_vsync.gpio0[19] */ >; 07 广州创龙电子科技有限公司

使用内核源码中的驱动——中断方式 按键测试: 1. 查看input设备: cat /proc/bus/input/devices 2. 测试按键: hexdump /dev/input/event0 按下 松开 08 广州创龙电子科技有限公司

03 使用内核源码中的驱动——轮询方式 第 3 部分

使用内核源码中的驱动——轮询方式 驱动源码路径:drivers/input/keyboard/gpio_keys_polled.c 10 广州创龙电子科技有限公司

使用内核源码中的驱动——轮询方式 设备树配置:Documentation/devicetree/bindings/input/gpio-keys-polled.txt gpio_keys: user_keys@0 { compatible = "gpio-keys-polled"; #address-cells = <1>; #size-cells = <0>; autorepeat; poll-interval = <100>; pinctrl-names = "default"; pinctrl-0 = <&user_keys_default>; button@0 { label = "user-key0"; linux,code = <KEY_PROG1>; gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; }; 11 广州创龙电子科技有限公司

广州创龙电子科技有限公司 谢谢 官网: www.tronlong.com 论坛: www.51ele.net 微信公众号:广州创龙