在做单片机开发时,要读取GPIO按键,通常是执行一个循环,不断地检测GPIO引脚电平有没有发生变化。但是在 Linux 系统中,读取 GPIO 按键要考虑到效率,引入了很多种方法:查询方式(非阻塞)、休眠-唤醒(阻塞方式)、poll 方式、异步通知方式。这 4 种方法并不仅仅用于 GPIO 按键,在所有的APP 调用驱动程序过程中,都是使用这些方法。通过这 4 种方式的学习,可以掌握如下知识:
① 驱动的基本技能:中断、休眠、唤醒、 poll 等机制。
这些基本技能是驱动开发的基础,其他大型驱动复杂的地方是它的框架及设计思想,但是基本技术就这些。
② APP 开发的基本技能:阻塞 、非阻塞、休眠、 poll、异步通知。
1 妈妈怎么知道孩子醒了
妈妈怎么知道卧室里小孩醒了?
① 时不时进房间看一下: 查询方式
◼ 简单,但是累
② 进去房间陪小孩一起睡觉,小孩醒了会吵醒她: 休眠-唤醒
◼ 不累,但是妈妈干不了活了
③ 妈妈要干很多活,但是可以陪小孩睡一会,定个闹钟: poll 方式
&n