当前位置: 首页 > news >正文

使用epoll方式监控键盘等设备输入

说明

 由于需要读取键盘和串口输入,之前都是用循环读取的方式进行读取数据的,采用主动方式而不是等有数据过来的时候通知读取。前一种方式很耗资源也不方便管理,于是就想到epoll,这种一般使用在socket网络编程上的的。对于epoll的说明可以参考以下文章。
http://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html

原理

 epoll方式是应用在数据流方面的,比如在socket网络数据传输时候,数据传递就是流,当有数据过来的时候会触发。以同样的方式对于键盘和串口数据输入也是一种流,所以也可以检测数据输入。方便管理,不用使用一直读的方式去读取数据,改为被动式方式读取。

自己写的demo

https://github.com/QUSIR/key_epoll

说明:

#define DEV_PATH1 "/dev/input/event4"
#define UART_DEVICE_NAME "/dev/ttyUSB1"

以上为键盘和串口控制句柄

转载于:https://www.cnblogs.com/QUSIR/p/7640608.html

相关文章:

  • Pandas时间序列
  • Centos_7安装python-pip
  • 用Libaad2来进行AAC解码
  • libjingle翻译之《Important Concepts(重要概念)之Transports, Channels, and Connections(传输、通道、链接)》...
  • [转载]WCF系列_分布式事务(下)
  • EF基础知识小记五(一对多、多对多处理)
  • 智能语音控制中心 - 树莓派、Nanopi、Orangepi语音识别控制
  • NFS启动时报错Linux NFS:could not open connection for tcp6
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 性能与性价比的平衡,阿里云第二代入门级实例T5详解
  • 13个绚丽的Jquery 界面设计
  • 20162321王彪 2017-2018《程序设计与数据结构》第五周学习总结
  • 剪我一根头发,就要做我一天女人。
  • VS2008 F5不能调试情况一例
  • 短路径算法-Dijkstra算法的应用之单词转换(词梯问题)
  • Babel配置的不完全指南
  • java中的hashCode
  • JS字符串转数字方法总结
  • Linux后台研发超实用命令总结
  • Logstash 参考指南(目录)
  • Solarized Scheme
  • Spark RDD学习: aggregate函数
  • Vue2.x学习三:事件处理生命周期钩子
  • vuex 笔记整理
  • 阿里云前端周刊 - 第 26 期
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 实现菜单下拉伸展折叠效果demo
  • 关于Android全面屏虚拟导航栏的适配总结
  • 我们雇佣了一只大猴子...
  • #define与typedef区别
  • #pragma once与条件编译
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (20050108)又读《平凡的世界》
  • (pytorch进阶之路)扩散概率模型
  • (windows2012共享文件夹和防火墙设置
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (五)MySQL的备份及恢复
  • (一)kafka实战——kafka源码编译启动
  • ***测试-HTTP方法
  • **PHP分步表单提交思路(分页表单提交)
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net Core和.Net Standard直观理解
  • .NET开发人员必知的八个网站
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @FeignClient注解,fallback和fallbackFactory
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [<死锁专题>]
  • [2018-01-08] Python强化周的第一天
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C]整形提升(转载)