基于μClinux的触摸屏软硬件关键技术分析
read:ts_read, //读数据操作
poll:ts_poll, //非阻塞操作
open:ts_open, //打开设备
release:ts_release, //释放设备
fasync:ts_fasync, //异步触发}
完整的结构还包括llseek、readdir等函数指针,只是由于在本程序中没有用到,所以省略不写,内核把它们默认为空(NULL)。
触摸屏驱动程序的流程及关键函数
在本设计中,我们使用μClinux2.4内核。驱动程序主要设计思想是:驱动程序在初始化结束后,进入空闲状态,等待中断的到来。一旦笔中断(pen_irq)发生,则进入中断处理程序,进行数据采样、转换和传输,同时,程序对各种不同的情况进行鉴别和异常处理。
触摸屏软件流程如图3所示。在驱动程序中设定了触摸屏所处的7个不同状态,分别用从-1到5的数字表征,这7个状态构成了一个触摸屏状态机,系统根据当前状态做出下一步的处理,如表1所示。整个软件设计根据功能可以划分为5个部分,分别是初始化、设备打开、读操作、中断处理以及I/O控制,下面具体介绍每一部分。
评论