嵌入式Linux框架下的的智能仪器触摸屏接口设计过程详解_第1页
嵌入式Linux框架下的的智能仪器触摸屏接口设计过程详解_第2页
嵌入式Linux框架下的的智能仪器触摸屏接口设计过程详解_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【Word版本下载可任意编辑】嵌入式Linux框架下的的智能仪器触摸屏接口设计过程详解}

应用程序调用read()函数时,进入驱动的ads7843_ts_read()接口函数。在该接口函数中获取采样结果,判断是否要对坐标开展校准,将终结果写入到缓冲区中,并通过copy_to_user()函数将其从内核空间复制到用户空间,以使应用程序能够使用。在ads7843_ts_read()函数中采用了非阻塞型操作,使得在没有数据到达的时候立即返回,然后用异步触发fasync()来通知数据的到来。ads7843_ts_poll()函数用于驱动程序的非阻塞操作,ads7843_ts_fasync()函数用于驱动异步触发。ads7843_ts_ioctl()函数中,提供了可从用户态控制的参数,如触摸屏是否在驱动中校准、屏幕的坐标值等。ads7843_ts_release()函数用来关闭触摸屏设备。

2.2触摸屏的校准

在仪器开发过程中,触摸屏作为输入设备与LCD配合使用。为了能使从触摸屏采样得到坐标与屏幕的显示坐标对应,还需要做一个映射,也就是要对触摸屏开展校准。如图4所示,所用的触摸屏和液晶屏都是标准的矩形,只要安装合理,可以认为触摸屏的X方向坐标只与显示屏X方向相关,Y方向坐标只与显示屏的Y方向相关。假设显示屏的分辨率是W×H,显示区域的左上角对应的触摸屏采样坐标是(x1,y1),右下角对应的坐标是(x2,y2),那么触摸屏上任意一点采样坐标(x,y)与显示屏坐标(xd,yd)的对应关系可以按照如下公式计算:

这样,在测得(x1,y1)和(x2,y2)点触摸屏的采样值后,利用上述公式编制校准函数,在触摸屏工作的过程中,计算出实际触摸点对应的显示坐标,完成触摸屏的校准。

3触摸屏用户应用程序

创立的Linux设备文件系统触摸屏节点为/dev/ts.在应用程序中,可以像打开文件一样用open函数打开设备文件,然后用read()函数读取由驱动传递到用户空间的数据。仪器应用程序的开发采用MiniGUI开展,MiniGUI是由**飞漫公司开发,可应用于实时嵌入式系统中的轻量级图形用户界面支持系统。其函数接口与WindowsSDK类似,开发方便。

MiniGUI的输入抽象层(IAL:InputAbstractLayer)提供了对触摸屏、鼠标等输入设备的丰富支持,并支持PXA255处理器平台。只要经过简单的设置就可以在应用程序中使用触摸屏。配置安装MiniGUI时,使用22enable2px255bial项,由于在安装MiniGUI时采用了内嵌资源的静态编译方式,所以在编译之前,需在MiniGUI的src/sysres/目录下建立mgetc2pxa1c文件,并在其中用下面语句设置系统参数,将触摸屏设为输入设备。

staticchar*SYSTEM_VALUES[]={“fbcon”,“PX255B”,“/dev/ts”,“none”};

MiniGUI对触摸屏输入的处理方式如图5所示。

MiniGUI通过触摸屏设备驱动程序接收原始的输入数据,把它转换为MiniGUI抽象的触摸屏事件和数据。

相关的底层事件处理例程把这些触摸事件转换为上层的触摸消息,放到相应的消息队列中。应用程序通过消息循环获取这些消息,交由窗口过程处理。编制针对触摸屏的应用程序时,需要做的只是在窗口接收到诸如MSG_LBUTTONDOWN等触屏消息时,调用相应的语句完成预期操作。

4结论

嵌入式智能仪器触摸屏接口增强了仪器系统的人机交互功能,方便了操作人员的使用;接口电路和驱动程序的模块化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论