Linux驱动_按键

本文探讨了APP如何读取按键输入,包括休眠唤醒、poll机制和异步通知方式。强调了驱动程序应提供能力而非策略,并介绍了查询方式的按键驱动程序编写框架,涉及主设备号和次设备号的概念。同时,提到了用户态buffer的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:

一、APP怎么读取按键

二、查询方式的按键驱动程序_编写框架

一、APP怎么读取按键

重要性:既是应用开发的基础,也是驱动开发的基础。

休眠唤醒方式:缺点(没有按键唤醒的话,read函数会一直休眠)

poll方式:(针对休眠唤醒方式的缺点,出现了POLL机制,timeout时间过后,内核自己会把应用唤醒)

异步通知:

异步通知的机制就是信号的处理:驱动程序给应用程序发信号,应用程序收到信号后,就去处理信号处理函数。

好的驱动程序编写提供能力,不提供策略:

注:应用程序打开驱动程序时,会传入一个标记:阻塞 、非阻塞(查询方式)、休眠、poll、异步通知。

二、查询方式的按键驱动程序_编写框架

框架:

主设备号用来寻找驱动程序,次设备号(分辨哪一个按键)给我们使用的,自己想怎么使用就怎么使用。

这个__user是一个空的宏,放在这里表示用户态的buffer,在内核在驱动程序中不可以直接使用他,使用copy_to_user(buf,&level,1)来读它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值