微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统在触摸屏驱动程序中的应用

嵌入式系统在触摸屏驱动程序中的应用

时间:10-27 来源:互联网 点击:

CH,用于触摸笔点击触摸屏时产生相应的中断:

2.SYSINTR TOUCH_CHANGE,用于触摸笔离开时产生相应的中断。

该过程有几个判断要点:检查屏幕是否被触摸;采集每个轴上的多个原始数据用于以后的过滤;检查屏幕是否仍在被触摸。4.3 读取数据并去抖

当屏幕被触摸时。我们首先读取x轴和Y轴的原始数据并进行去抖处理,然后判断得到的数据是否稳定,如果不稳定,继续读取数据并去抖,直到得到稳定的数据为止。读取触摸点的坐标是由DdsiTouchPanalGetPointoi累i数实现的。部分实现代码如下:

4.4 触摸屏校准

完成前面繁琐的工作后,驱动程序的各种功能就都已经准备就绪了。现在就可以实际触摸屏幕了。电阻触摸屏在操作前需要校准。这需要一些参考值。以便我们能够将接收到的原始模数转换值转换成高层软件所需的屏幕像素坐标。由于许多电阻触摸屏存在着显着的非线性,所以如果在最大值和最小值之间简单的插入几个位置数值会导致驱动程序非常不精确。通常触摸驱动程序在一启动时就运行校准程序。但要记住一定要把这些参考值保存起来。以免我们在以后的加电启动期间再做校准。

下面是校正算法代码:

做出准确判断的唯一途径就是进行大量反复的测试。经过大量试验表明,选取的校准点越多,内插窗口的间距越小,所得到的校准精度就越高。校准完成之后。便可以开始正常的操作了,并开始向更高层的软件发送触摸事件。最后一步,我们利用Platform Builder把编制好的驱动程序加载到WinCE内核中,然后烧录到目标设备。启动后我们就会得到一个友好的触摸屏界面。就能检验该驱动程序是否成功了。

5 结语

设计Windows CE驱动程序时。首先要选好驱动程序的类型。本文选取的是分层的本机设备驱动。开发的效率比较高,其它的驱动程序可以根据实际情况选择合适的驱动模型。此外。Windows CE的驱动程序可以针对不同的硬件平台进行移植。只要掌握了上述核心思想就能成功实现移植。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top