生活不能等待别人来安排,要自己去争取和奋斗;而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。有了这样的认识,你就会珍重生活,而不会玩世不恭;同时,也会给人自身注入一种强大的内在力量。
通过本节可以了解到如下知识:
① 驱动的基本技能:中断、休眠、唤醒、 poll 等机制。
- 这些基本技能是驱动开发的基础,其他大型驱动复杂的地方是它的框架及设计思想,但是基本技术就这些。
② APP开发的基本技能:阻塞 、非阻塞、休眠、 poll、异步通知。
一、按键读取方法
APP 去读取按键也有 4 种方法:
- ① 查询方式
- ② 休眠-唤醒方式(只能干这一件事)
- ③ poll 方式
- ④ 异步通知方式
第 2、 3、 4 种方法,都涉及中断服务程序。中断,就像小孩醒了会哭闹一样,中断不经意间到来,它会做某些事情:唤醒 APP、向 APP 发信号。所以,在按键驱动程序中,中断是核心。实际上,中断无论是在单片机还是在 Linux 中都很重要。在 Linux 中,中断的知识还涉及进程、线程等。
1.1、查询方式

驱动程序中构造、注册一个 file_operations 结构体,里面提供有对应的 open,read 函数。
APP 调用 open 时,导致驱动中对应的 open 函数被调用,在里面配置 GPIO 为输入引脚。APP
本文总结了嵌入式Linux驱动中按键的四种读取方法:查询、休眠-唤醒、poll和异步通知,详细解释了每种方法的工作原理,并通过实例测试加深了对异步通知的理解。重点强调了中断在驱动程序中的重要性,以及驱动设计应遵循的提供能力而不限制策略的原则。
订阅专栏 解锁全文
674

被折叠的 条评论
为什么被折叠?



