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

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

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

2.测试程序 : key_test.c

实验步骤:

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

insmod key_drv.ko

按键查询方式

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

下面开始测试;

输入 ./key_test

测试按键

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

CPU使用率

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

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

  1. stm32 工业按键检测_STM32f103按键检测程序实现长按短按

    背景本文引用地址:http://www.eepw.com.cn/article/201807/384495.htm 只要使用单片机,按键检测基本上是一定要实现的功能.按键检测要好用,最重要的是实时和去 ...

  2. Openwrt按键检测分析-窥探Linux内核与用户空间通讯机制netlink使用

    首先看一下Openwrt系统中关于按键功能的使用和修改,以18.06版本为例 按键功能实现在脚本中, 比如18.06/package/base-files/files/etc/rc.button/re ...

  3. Linux启动检测内存条错误,linux检测程序内存泄漏和内存错误

    在linux的开发程序的时候,可以很方便的使用valgrind这个工具方便检测内存泄漏和内存错误. 安装很方便: debian(如ubuntu) sudo apt-get install valgri ...

  4. linux防病毒检测,ddos防护:Linux恶意软件检测工具-墨者安全-墨者盾

    ddos防护:Linux恶意软件检测工具 Linux恶意软件检测工具(LMD)是一个GNU GPLv2许可下发布的Linux恶意软件扫描器,其设计理念是是针对在共享主机环境中所面临的威胁.它使用来自网 ...

  5. linux安全检测及防护,Linux安全检测及防护-单选题.doc

    Linux安全检测及防护-单选题 Linux安全检测及防护-单选题===<<>>===1. 关于标准输入输出描述正确的是 ( )[选择1项]A. stdin的文件编号为0,默认 ...

  6. STM32按键检测程序整理

    一. 在硬件连接上,按键一端连接在普通IO口上,另一端接地,IO配置为内部弱上拉. 在软件上,先配置一个5ms定时器并打开中断,每进入该定时中断则置位一次标志位"key_handle&quo ...

  7. c#如何在linux上运行程序,在Linux上运行C#

    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...

  8. linux保存压缩程序输出,Linux压缩zip文件

    1. Linux下zip工具简介 Linux上使用命令行版的zip压缩工具创建zip压缩文件. 2. 安装zip工具 以CentOS7.5为例,默认情况下,最小化安装并没有包括zip套件. [root ...

  9. linux平板 开发程序,嵌入式Linux工业平板电脑开发详解

    硬件规格 产品特性 液 晶 屏:7"TFT真彩液晶屏(16:9比例),分辨率 800×480 触摸规格: 100万次以上(笔尖0.8m㎡打键荷重250克力,打键速度2次/秒) 中央处理器:C ...

最新文章

  1. activeMq初识 - 2
  2. Angular Schematics 学习笔记
  3. 电销机器人价格_箭鱼电销机器人:为什么电话机器人公司不用机器人给你打电话?...
  4. 群晖docker签到京豆_利用Synology(群晖)Docker安装签到框架
  5. 5.3linux下C语言socket网络编程简例
  6. Kali-linux:nmap命令
  7. arcmap操作Excel文件没有注册类解决办法
  8. AndroidTV开发教程(1)
  9. excel worksheet
  10. 2022-华为-大数据研发工程师-秋招面经
  11. win10打开计算机代码,Win10开不了机错误代码0xc0000428三种解决方法
  12. 网络游戏怎么样推广引流,游戏推广怎么做引流
  13. 7-3 计算平均成绩 (15分)
  14. App地推营销成为趋势,破局增长数据赋能是关键
  15. C# 3GQQ批量登录工具(QQ答复机器人)
  16. iOS疯狂详解之启动分层引导动画
  17. 介绍近期的一篇综述:AI系统安全的实用方法
  18. html的基础网页代码源(超基础)
  19. PWM整流器仿真模型,SVPWM调制方式,空间矢量调制,仿真模型。 PWM整流器matlab仿真模型,SVPWM调制
  20. 后台cs代码控制html控件,在asp.net中*.aspx.cs肿么用后台代码编写前台的事件?

热门文章

  1. 从 0 到 70%:Chrome 上位揭秘!
  2. 调查了 10,975 位 Go 语言开发者,我们有了这些发现!
  3. 《原力计划【第二季】》第 7 周周榜揭晓!!!
  4. 如何玩转 HTTP 3?
  5. “我在小公司混,有没有资格去知名技术大会上做分享?”
  6. 程序员的 JavaScript 代码该如何让计算机搞懂?
  7. 8.3 折特惠票仅剩 5 天!「2019 嵌入式智能国际大会」全日程大公开!
  8. Google 最强开源模型 BERT 在 NLP 中的应用 | 技术头条
  9. 苹果应用审核团队:每人日审百款 App!
  10. 小小的 Python 编程故事