关于Linux触摸屏驱动

2014-11-24 08:57:08 ? 作者: ? 浏览: 0

操作系统对于经常应用电脑的用户非常的重要,一个好的操作系统,能更好的节省学习的时间。本文讲解Linux触摸屏驱动开发,在Linux触摸屏驱动中,最好的范例莫过于mc68328digi.c的实现。本文把其中用到的结构解析一下。  


mc68328digi.c下载地址在Linux公社的1号FTP服务器里


密码:www.muu.cc


在 2011年LinuxIDC.com\6月\关于Linux触摸屏驱动


下载方法见这里 http://www.linuxidc.net/thread-1187-1-1.html


1,struct ts_pen_info   


该结构是触摸屏的核心数据结构。用户程序和驱动程序的交互就是通过该数据结构完成的。结构体里面的x,y坐标和状态是gui中事件驱动的原始数据源。   


2,环形队列   


gui程序通过read完成对ts_pen_info的提取。而在内核中维护了一个环形队列,只要队列不为空,将立即返回数据给应用程序。   


3,中断驱动机制   


触摸屏是输入设备,因此使用的是中断驱动机制。只要有触摸事件发生,即向环形队列里面填充一项。   


4,定时器的必要性   


触摸屏的中断处理函数必然启动一个定时器。定时器的使用是为了检测出Drag操作。当按下触摸屏一直没有松开时,中断只会相应一次。这和触发方式关系不大,不是沿触发和电平触发的问题。主要是触摸屏的中断处理函数没有处理到松开是不会开放中断的。在这段时间内,就是通过定时器不停的启动,检测触摸屏的新坐标的。   


5,misc驱动   


触摸屏采用Misc结构的驱动。   


这5点是Linux触摸屏驱动的核心,理解这些,阅读和编写自己的触摸屏驱动都会游刃有余。希望会对你有所帮助。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: