linux按键检测程序,Tiny4412 Linux驱动之按键(使用查询方式) | 技术部落

前几天在TIny4412开发板上做了LED点灯的Linux驱动,其实挺简单,GPIO驱动,今天再看一下按键的驱动,毕竟按键用的还是比较广泛的,本文使用查询的方式获取按键值,后面会有文章使用中断的方式进行操作,也算是为了对比一下这两种处理方式的效率。

按键检测的原理在前面裸机部分已经介绍的很详细了,《Tiny4412裸机程序,按键检测(轮询方式)》 ,忘了怎么操作的同学可以再查看一下。

还是一共三个文件,1驱动相关:. key_drv.c  Makefile

2.测试程序 : key_test.c

实验步骤:

驱动和应用程序都编译出来之后,首先加载驱动:

insmod key_drv.ko

c32ac2379d369ad6c2c829c15c508ba2.png

按键查询方式

如上图所示,加载完驱动之后,按键节点已经自动创建出来了,使用cat /pros/devices命令查看,按键设备已经有了。

下面开始测试;

输入 ./key_test

c913bf7bf88c90d53fb9f241350d6154.png

测试按键

看到了吧,我按下了第一个按键,按键已经能检测了,但是有一个问题,用这种方式效率太低了,大家看一个图:

cf33705c4f985028a6d03c2a561f86f1.png

CPU使用率

CPU使用率达到了25!!!!4412是4核的处理器,那就是整整占用了一个CPU啊!!!太可怕了,下一节会使用中断的方式重新做这个实验,对比一下效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值