收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
I: Bus=0011 Vendor=0002 Product=0005 Version=0000
N: Name=“ImPS/2 Generic Wheel Mouse”
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input3
U: Uniq=
H: Handlers=mouse1 event3
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
主要观察打印信息,Name项是不一样的,我们就可以从这里下手,读取到这个名字,然后在这一类中读取event的值。
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <sys/mman.h>
//#define DBG_PRINTF(...)
#define DBG_PRINTF printf
char *command="cat /proc/bus/input/devices > log.txt" ;
char *file_path="./log.txt";
char *file_buff;
int number;
int find_event()
{
int iFd;
FILE *tFp;
struct stat tStat;
char *sub_buff="Handlers=mouse1";
/* according to mouse name find event number*/
char *buff;
tFp=fopen(file_path,"r+"); /* check if have log.txt file */
if(NULL!=tFp)
{
fclose(tFp);
system("rm log.txt");
}
system(command);
/* 打开文件 */
tFp = fopen(file_path, "r+");
if (tFp == NULL)
{
DBG_PRINTF("can't open %s\n", file_path);
return -1;
}
iFd = fileno(tFp);
fstat(iFd, &tStat);
/* mmap the file to mem */
file_buff = (unsigned char *)mmap(NULL , tStat.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, iFd, 0);
if (file_buff== (unsigned char *)-1)
{
DBG_PRINTF("mmap error!\n");
return -1;
}
buff=strstr(file_buff,sub_buff);/* in the mem file_buff find sub_buff name */
if(NULL==buff)
{
DBG_PRINTF("can't find %s\n",sub_buff);
munmap(file_buff, tStat.st_size);
return -1;
}
number=*(buff+strlen(sub_buff)+6);/* 6== event */
munmap(file_buff, tStat.st_size);
fclose(tFp);
return 0;
}
int main(int argc, char **argv)
{
find_event();
DBG_PRINTF("event%d\n",number-'0');
return 0;
}
遇到同样的问题我们可以采取同样的措施,先映射到内存上,再来查找。也可以直接使用fopen打开文件,然后使用fgets函数来读取到buf中,在使用strstr来查找。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**