阐述Linux触摸屏驱动


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

1,struct ts_pen_info

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

2,环形队列

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

3,中断驱动机制

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

4,定时器的必要性

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

5,misc驱动

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

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

  1. 教会你Linux Shell自动交互的三种方法
  2. 在Linux操作系统下配置和使用NFS
  3. 透明了解Linux内核结构
  4. 解决Linux网银更好网上购物
  5. 商业帝国的"云计算"Linux操作系统

相关内容

    暂无相关文章