tiny6410按键驱动总结

         写了7个版本的按键驱动:

      1.查询法:在应用程序的while循环里不停的调用read函数读取按键值,太耗费CPU资源了。

      2.中断发:同样是在一个while循环里不停的调用read函数读按键值,但是这个程序里用了个等待队列,没有按键按下时,调用read函数进程会休眠。当有按键按下时,在中断服务程序里会唤醒休眠的进程,从而读取到按键值。相对于查询法,耗费的CPU资源少了很多。

     4.poll机制:也是在一个while循环里,调用poll函数查询下设备文件是否可读,如果不可读,就休眠一会儿,然后再来查询,如果设备文件可读,就调用read函数。

     5.异步通知(信号机制):这个类似于QT里的信号与槽,当有按键按下时,产生中断,在中断服务函数里向应用程序发射信号,应用程序里收到这个信号后,执行相应的函数来处理。这种方式是最节省CPU资源的。

     6.定时器消抖:这个就是内核定时器的应用,没啥好说的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值