触摸屏校准程序的设计示例.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
触摸屏校准程序设计示例 嵌入式Linux和MiniGUI结合的解决方案已经成为很多嵌入式系统的图形化方案之一,而触摸屏也是很多嵌入式系统首选的输入设备,因此触摸屏的校准也成为很多嵌入式系统开发过程中常常碰到的问题之一。 ????? 嵌入式Linux是一种可以进行裁减、修改使之能在嵌入式计算机系统上运行的操作系统,既继承了Internet上的无限的开放源代码资源,又具有嵌入式操作系统的特性。该系统具有较高的稳定性和安全性、良好的硬件支持、标准兼容性和资源丰富等功能。而触摸屏是一种方便、快捷的输入设备,附着在显示器的表面,与显示器配合使用,在工业控制场合得到了广泛的应用。然而在实际的嵌入式程序移植的过程中,由于触摸屏尺寸的不同,以及GUI(Graphic User Interface)方案选择和IAL(Input Abstract Layer)的差异,一般开发板制造商并不提供触摸屏的校正程序。本文介绍的正是笔者在制作实际的嵌入式Linux数控机床人机接口过程中,提出的一套基于嵌入式Linux和MiniGUI的通用触摸屏校准程序设计方案。 MiniGUI简介 MiniGUI()是国内最有影响的自由软件项目之一, MiniGUI 项目的目标是为基于 Linux 的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。该项目自1998年底开始到现在,已历经7年多的开发过程,到目前为止,已经比较成熟和稳定,并且在许多实际产品或项目中得到了广泛应用。 MiniGUI 为应用程序定义了一组轻量级的窗口和图形设备接口。利用这些接口,每个应用程序可以建立多个窗口,而且可以在这些窗口中绘制图形且互不影响。用户也可以利用MiniGUI 建立菜单、按钮、列表框等常见的 GUI 元素。 MiniGUI 可以具有两种截然不同的运行时模式:MiniGUI-Threads或者MiniGUILite。运行在 MiniGUI-Threads 上的程序可以在不同的线程中建立多个窗口,但所有的窗口在一个进程中运行。相反,运行在 MiniGUI-Lite 上的每个程序是单独的进程,每个进程也可以建立多个窗口。MiniGUI-Threads 适合于具有单一功能的实时系统,而 MiniGUI-Lite则适合于具有良好扩展性的嵌入式系统,比如要下载并运行第三方应用程序的智能手持终端。 MiniGUI在体系结构上有许多独特之处。它的主要特色有: ● 提供了完备的多窗口机制; ● 对话框和预定义的控件类; ● 消息传递机制; ● 多字符集和多字体支持; ● 全拼、五笔等汉字输入法支持; ● BMP、GIF、JPEG等常见图像文件的支持; ● 小巧,包含全部功能的库文件大小为300KB左右; ● 可配置,可根据项目需求进行定制配置和编译; ● 可移植性好。 基于以上特点,MiniGUI和Microwindows、Qt-Embedded是当前嵌入式Linux中比较流行的三大嵌入式Linux的图形用户接口的解决方案。而MiniGUI因为其“小”的特色和对中文最好的支持以及中文参考资料的配备等独特优点,在嵌入式的实际GUI方案选型中, MiniGUI也成为国人作实验研究或者项目所青睐的解决方案。 环境参数的设置 在嵌入式系统中,多数都会选择安装触摸屏设备,然而由各种厂商生产的设备参数各不相同、驱动也不一致。现在有的开发板厂商已经可以提供触摸屏的驱动接口,但是由于触摸屏的尺寸大小以及一些具体参数的设置失误,造成基于触摸屏操作的图形界面坐标不准,也就是说触摸屏读出的点的物理坐标和实际LCD屏幕的像素坐标不匹配,应用程序无法通过触摸屏得到正确操控。 笔者基于S3c2410的ARM9内核,使用6.4英寸,640×480的触摸屏,嵌入式Linux内核2.4.20和MiniGUI1.3.0,Lite版本,设计了一套简单可行的方案,可以方便地实现触摸屏的校准。 在开始校正触摸屏的坐标前,首先要修改MiniGUI.cfg文件使其适应触摸屏驱动,该文件一般保存在开发板的/usr/local目录下。所做修改如表所示。 另外,在开发板的/dev/的目录下建立连接ln-s /dev/touchscreen/Oraw ts 。 配置文件修改的主要目的是把IAL(Input Abstract Layer,输入抽象层)改为SMDK2410,输入设备改为/dev/ts,鼠标类型IMPS2取消掉,使其适应触摸屏驱动。 校正原理及编程思路 1.校正原理 我们传统的鼠标是一种相对定位系统,只和前一次鼠标的位置坐标有关。而触摸屏则是一种绝对坐标系统,要选哪就直接点哪,与相对定位系统有着本质的区别。绝对坐标系统的特点是每一次定位坐标与上一次定位坐标没有关系,每次触摸的数据通过校准转

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档