国产一级AV免费播放片_欧美写真日韩一区在线播放_亚洲一区中文字幕在线_国产成人综合v在线_日本一区二区桃色_午夜性色福利影院_亚洲午夜精品日本_中文国产日本在线播放免费_亚洲精品国产一级毛片_午夜精品视频在线观看91

電阻觸摸屏驅動

1 電阻觸摸屏介紹

如下圖所示四線電阻觸摸屏驅動,該開發(fā)板使用的是4線觸摸屏四線電阻觸摸屏驅動,方框標記的引腳是專門用來接收模擬輸入信號。

引腳說明:

YM: (Y Minus)觸摸屏的Y坐標的負線,也可以用Y -表示

YP : (Y Power)觸摸屏的Y坐標的正線, 也可以用Y+表示

XM: (Y Minus)觸摸屏的Y坐標的負線, 也可以用X-表示

XP : (Y Power)觸摸屏的Y坐標的正線, 也可以用X+表示

1.1 基本原理

電阻觸摸屏包含了兩個阻性層(電阻阻值均勻),如下圖所示

當沒有觸摸按下時,X層和Y層是分離的,此時就測不到電壓。

測量x方向的坐標時:如下圖, 把XP接3.3V , XM接0V, YP和YM懸空,我們以按壓X坐標的中間位置, X層和Y層便閉合了,此時YP就會輸出當前X坐標值的1.66V給CPU。

測量y坐標時:如下圖, 把YP接3.3V , YM接0V, XP和XM懸空,我們以按壓X坐標的中間位置, X層和Y層便閉合了,此時XP就會輸出當前X坐標值的1.66V給CPU 。

2 觸摸屏驅動需要使用的結構體與函數

input_dev結構體分析:

struct input_dev {     
       void *private;
       const char *name;  //設備名字
       const char *phys;  //文件路徑,比如 input/buttons
       const char *uniq;  
       struct input_id id;
       unsigned long evbit[NBITS(EV_MAX)];  //表示支持哪類事件,常用有以下幾種事件(可以多選)
       //EV_SYN      同步事件,當使用input_event()函數后,就要使用這個上報個同步事件
       //EV_KEY       鍵盤事件
       //EV_REL       (relative)相對坐標事件,比如鼠標
       //EV_ABS       (absolute)絕對坐標事件,比如搖桿、觸摸屏感應
       //EV_MSC      其他事件,功能
       //EV_LED       LED燈事件
       //EV_SND      (sound)聲音事件
       //EV_REP       重復鍵盤按鍵事件
       //(內部會定義一個定時器,若有鍵盤按鍵事件一直按下/松開,就重復定時,時間一到就上報事件)  
       //EV_FF         受力事件
       //EV_PWR      電源事件
       //EV_FF_STATUS  受力狀態(tài)事件
       unsigned long keybit[NBITS(KEY_MAX)];   //存放支持的鍵盤按鍵值
       //鍵盤變量定義在:include/linux/input.h, 比如: KEY_L(按鍵L)、BTN_TOUCH(觸摸屏的按鍵)
       unsigned long relbit[NBITS(REL_MAX)];    //存放支持的相對坐標值
       unsigned long absbit[NBITS(ABS_MAX)];   //存放支持的絕對坐標值,存放下面4個absxxx[]
       unsigned long mscbit[NBITS(MSC_MAX)];   //存放支持的其它事件,也就是功能
       unsigned long ledbit[NBITS(LED_MAX)];    //存放支持的各種狀態(tài)LED
       unsigned long sndbit[NBITS(SND_MAX)];    //存放支持的各種聲音
       unsigned long ffbit[NBITS(FF_MAX)];       //存放支持的受力設備
       unsigned long swbit[NBITS(SW_MAX)];     //存放支持的開關功能
         ... ...
 
/*以下4個數組都會保存在上面成員absbit[]里,數組號為:ABS_xx ,位于include/linux/input.h */
/*比如數組0,標志就是ABS_X,以下4個的absXXX[0]就是表示絕對位移X方向的最大值、最小值... */
/*對于觸摸屏常用的標志有:
ABS_X(X坐標方向), ABS_Y(Y坐標方向), ABS_PRESSURE(壓力方向,比如繪圖,越用力線就越粗)* / 
       int absmax[ABS_MAX + 1];      //絕對坐標的最大值
       int absmin[ABS_MAX + 1];      //絕對坐標的最小值
       int absfuzz[ABS_MAX + 1];     //絕對坐標的干擾值,默認為0,
       int absflat[ABS_MAX + 1];     //絕對坐標的平焊位置,默認為0
... ...


上一篇:安阻法測電阻電動勢比實際值 高中物理,安阻法測電源電動勢為什么會使測得的內阻大于真實值,電動勢就為真實值?0

下一篇:電阻電容電感測試儀 簡易電阻電容電感測量儀1

TAG標簽: LED顯示屏