文章目录

  • 前言
  • 一、open函数
  • 二、ioctl
  • 三、总体代码编写
  • 总结

前言

本篇文章我们将介绍到如何使用open,ioctl函数读取设备信息。

一、open函数


使用man手册查看到open函数的使用方法。

二、ioctl


使用man手册查看到ioctl函数的使用方法。

三、总体代码编写

#include <linux/input.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>/* 01_get_input_info /dev/input/event0 */
int main(int argc,char **argv)
{int fd;int err;struct input_id id;int len;int byte;int bit;int i;unsigned char evbit[2];char *ev_names[] = {"EV_SYN ","EV_KEY ","EV_REL ","EV_ABS ","EV_MSC ","EV_SW   ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","NULL ","EV_LED ","EV_SND ","NULL ","EV_REP ","EV_FF  ","EV_PWR ",};if(argc!=2){printf("Usage :%s <dev> \n",argv[0]);return -1;}fd=open(argv[1],O_RDWR);if(fd<0){printf("open %s err\n",argv[1]);return -1;}err=ioctl(fd,EVIOCGID,&id);if(err==0){printf("bustype = 0x%x\n", id.bustype );printf("vendor = 0x%x\n", id.vendor  );printf("product = 0x%x\n", id.product );printf("version = 0x%x\n", id.version );        }len=ioctl(fd,EVIOCGBIT(0, sizeof(evbit)),&evbit);if(len>0&&len<=sizeof(evbit)){printf("support dev:");for(i=0;i<len;i++){byte=evbit[i];for(bit=0;bit<8;bit++){if(byte&(1<<bit)){printf("%s ", ev_names[i*8 + bit]);}}}printf("\n");}return 0;
}

总结

大家可以下去实验一下。

Linux读取设备信息代码编写相关推荐

  1. Linux 字符设备驱动的编写

    Linux 字符设备驱动的编写 作者:解琛 时间:2020 年 8 月 17 日 Linux 字符设备驱动的编写 一.Linux 设备分类 二.open() 三.数据结构 3.1 struct fil ...

  2. c#使用WPD读取便携式设备信息一(枚举设备、连接设备及读取设备信息)

    手机或其他电子设备通过USB插入电脑上,并且以MTP(媒体传输协议)方式连接时,可在"计算机"中看到类似计算机盘符的便携式设备文件夹显示,但是这并不是一个计算机盘符,并不能通过常规 ...

  3. linux 添加spi 驱动,Linux下SPI和IIC驱动免在设备树上添加设备信息的编写方法

    编写驱动时,一般需要往设备树上添加节点信息,这里提供一种直接在驱动中添加设备信息的方法. i2c的驱动模板如下 #include #include #define SENSOR_BUS_NUM 0 # ...

  4. linux 怎样查看设备信息,Linux查看设备信息命令

    系统 #查看内核/操作系统/CPU信息 uname -a #查看操作系统版本 head -n 1 /etc/issue #查看CPU信息 cat /proc/cpuinfo #查看计算机名 hostn ...

  5. Linux查看设备信息—lsscsi命令

    1.简介 列出scsi/sata设备信息,比如硬盘驱动器,光盘驱动器. 2.安装 [root@baremetal-3-77 ~]# yum install iscsi* 3.lsscsi命令常用格式 ...

  6. linux查看设备内存代码,Linux下内存查看命令(示例代码)

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  7. linux dvb设备信息,Linux DVB api 笔记

    Linux DVB interface Demux 用途:硬件解复用 设备路径: /dev/dvb/adapter0/demux0 数据类型: dmx_output_t typedef enum { ...

  8. linux驱动设备信息失败怎么办,Linux设备驱动程序(LDD)中snull的编译问题 《转》

    对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识.本文在debian6.0上运行通过,内核版本为2.6.32. 学习LDD中网络驱动程序部分,理解sn ...

  9. linux驱动LCD 驱动程序代码编写

    转自 在编写代码之前我们先来看一看原理图 引脚说明: VCLK:发出lcd时钟信号,每来一个时钟,就会在屏幕上显示一个像素      --GPC1  :配置为lcd引脚 VLINE:发出lcd行扫描信 ...

最新文章

  1. 36、Power Query-多条件合并查询
  2. bzoj1854 [Scoi2010]游戏——匈牙利算法
  3. 杭州内推 | 阿里达摩院机器智能技术团队招聘多模态方向研究型实习生
  4. 【2】信息的表示和处理
  5. 【ArcGIS微课1000例】0007:基于数字高程模型DEM生成剖面线、剖面图
  6. 上公厕上一半突然被拽出来......
  7. 字符串匹配算法(AC自动机 Aho-Corasick)
  8. 挑战Unity、UE4,曾戈祭出次世代VR引擎
  9. android APN的打开与关闭
  10. 黑客入侵WinXP常用七个技巧
  11. java 购物系统代码_java购物系统源代码
  12. nginx判断手机端还是电脑
  13. 广义逆矩阵:加号逆(A+)与减号逆(A-)
  14. CountDownLatch倒计数锁存器(Latch:门闩[shuan])
  15. 关于纯流量卡-物联网卡的一点个人看法
  16. 激活 visio Premium 2010 vol 版本
  17. iClap:产品经理再忙也要看《琅琊榜》
  18. 中国国家气象局天气预报接口
  19. Your hostname, xxx resolves to a loopback address: 127.0.1.1; using x.x.x.x instead(on interface xx)
  20. Skip List(跳表)

热门文章

  1. 谷歌开放问答搜索最大语料库NQ,包含30万自然发生提问
  2. Sonic测试平台搭建--设备接入
  3. 写技术文章也挺好的,虽然没有多少人看
  4. python由大到小排序_Python选择从小到大的排序,python
  5. 手机号,邮箱正则匹配验证
  6. java web argox打印机 用jna调用dll
  7. 清华大学推荐人工智能A类B类期刊与会议汇总!!!发论文必备
  8. 机器人笔记本清灰_小熏的编程日记 » 愉悦的小机器人调教经历(一):使用笔记本为HTC G4提供无线路由...
  9. 量子计算机与人脑接口,科技是把双刃剑,“脑机接口”的利与弊,让人细思极恐...
  10. 「一本通 6.5 例 4」佳佳的 Fibonacci