首页 > 其他分享 >t113-c-触摸篇

t113-c-触摸篇

时间:2023-08-13 17:55:45浏览次数:37  
标签:触摸 tFp t113 file cat proc event buff

学一下如何添加触摸

先在menuconfig里面寻找是否有GT911

但是结果并没有找得到

那么在kernel_menuconfig中是否有呢

也没见有,但是我找到了gt9xx这个选项

估计就是这个了,那就不用添加驱动了把它选上

board.dts

设备树中也应该看一看,这中驱动硬是在iic也就是twi总线下的,果然在twi2找到了

打包

打包的时候需要注意的boot空间区域增大了,需要修改一下分区表文件

/dev下的event:

每一个event对应着一个输入的设备,至于详情需要到proc中找:

cat /proc/bus/input/devices  使用这条指令可以查看设备详情

https://www.cnblogs.com/sky-heaven/p/9214064.html

这篇文章很好地概况了event的知识和一些查看系统情况的知识,有很参考价值

查看代码

转自:https://blog.csdn.net/qq_21792169/article/details/51458855

当我们在Linux操作系统下使用input子系统时,当我们先插鼠标,在插上摄像头与先插摄像头,在插鼠标,操作系统为两个设备分配的event号不是固定的,先插上的是event0,后插上的是event1 。那么问题来了,我们写应用程序,我们怎么知道那个设备对应那个event接口,我们不可能认为指定使用那个接口,因为有时候插播顺序并不一致,下面我用代码来获取event接口。
 
使用cat /proc/bus/input/devices  
 
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=kbd event2 
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7


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来查找。
 
查看CPU信息:cat /proc/cpuinfo  
  
查看内存信息:cat /proc/meminfo  
  
查看USB设备:cat /proc/bus/usb/devices  
  
查看键盘和鼠标:cat /proc/bus/input/devices  
  
查看各分区使用情况:df  
查看体系结构:busybox uname -a  
  
查看中断信息:cat /proc/interrupts 

软件触摸

那么就写一软件来测试一下触摸是否正常:

 

标签:触摸,tFp,t113,file,cat,proc,event,buff
From: https://www.cnblogs.com/recodemo/p/17626825.html

相关文章

  • t113-c-lvgl8-gui例子
    其实tina官方提供了littellvgl的例子,既然找不到原因(可能是8.39的bug),那就看看官方怎么写的。路径主路径是在这里:makefile:显然这makefile是显示在应用层开发的main中:在littlelvgl中有个lvinit是用来初始化内存等等东西的,而在我写的程序中并没有写入写入后仍然不行,看来不是......
  • t113-c-wpa_cli遇到问题
    1.Failedtoconnecttonon-globalctrl_ifname:wlan0 error:Nosuchfileordirectory之前没注意到,wpa_cli在连上网络的时候还可以用,但是连不上了连查询存储的wlan都不行。那么我在这篇文章中找到与我相同的问题:https://blog.csdn.net/u010299133/article/details/10582......
  • VINKA/永嘉微电防干扰/抗噪2键/2通道/2路触摸触控芯片VK36N2D/VK3602XS/KA适用于玩具,
     概述      VK3602XS具有2个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。提供了2路锁存输出功能,可通过IO脚选择输出电平。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可减少按键检测错误......
  • t113-c-lcd_lvgl篇
    之所以用lvgl,是因为lvgl实在是太轻便了,只用库就能够做处图形管理页面,非常方便。当然,主要是我不想再下载qtcreate了,虽然qt被运用的很广泛,但是目前我对lvgl的掌握程度还是更深一点1.从github下载https://github.com/lvgl/lvgl2.为下载的lvgl源码创建例程需要注意的是lvgl所使......
  • t113-c-i2s设备设置尝试
    记录一下i2s设备设置,由于没买麦克风阵列所以结果应该是一个虚拟的设备显示1.设置设备树,板级设备树:由于我的板子上只有PB4567,所以只能设置PB4复用为in和out,不知道这样可不可以用,在学i2s的时候明明说是可以dat用一条线的。设置状态为okay2.menuconfig的设置3.烧录验证直接......
  • Mitsubishi 手把手教你FX5U与三菱触摸屏以太网连接
    步骤一:新建工程,进入工程的新建向导,选择机种;步骤二:在工程新建向导的“连接机器设置”中“I/F”选择以太网;步骤三:设置“GOTIP地址”与PLC同一网段;步骤四:结束触摸屏设置如下;步骤五:点击连接器设置“CH1:MELSECiQ-F”;步骤六:设置PLC“IP地址”;注意:触摸屏连接的第......
  • t113-c-i2s学习篇(cards)
    学习一下t113的i2s驱动1.模块功能规格介绍一堆看不懂的名词,处于半看懂半看不懂的状态2.模块源码结构介绍又是一堆看不懂的文件名字,还是不懂怎么用3.模块配置介绍3.1DeviceTree配置介绍什么是dmic?硬件接口之DMIC 举例,以i2s为例子:3.2board.dts板级配置介绍......
  • 防干扰/抗电压波动双按键/2路触摸触控芯片VK36N2D SOP8 适用于厨房秤/温控器/加湿器等
    概述:VK36N2DSOP8具有2个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。提供了2个1对1输出脚,可通过IO脚选择上电输出电平,有直接输出和锁存输出2个型号可选。芯片内部采用特殊的集成电路,具有高电源电压抑制比......
  • 沁恒触摸主动屏蔽与互感模式PCB Layout说明
    沁恒MCU触摸按键主动屏蔽模式与互感模式Layout说明主动屏蔽模式      主动屏蔽模式是指利用MCU的专用引脚,启用屏蔽功能,对各触摸检测通道做隔离,主动屏蔽主要作用有:      1)减小电路板上的互电容,从而减小触摸传感器基础电容值,增加触摸相对变化率;  ......
  • v831-T113-c-udp发送篇
    又来分析udp,目标是从v831中获取到的图片信息发送给t113然后再屏幕上显示出来挫折一t113作为服务端,再接收到客户端发来的数据后会自动设置clinetaddr,那么我们就不再需要取从新aton这个ip地址了,直接使用clientaddrintudp_send(void){ //if(0==inet_aton("192.168.1.118",......