当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]在嵌入式系统中较为常用的是四线电阻式触摸屏,通过检测x轴和y轴的电压,来确定触点的位置。一般触摸屏系统结构为:触摸屏->触摸屏控制器->处理器。wince7下触摸屏的驱动分

在嵌入式系统中较为常用的是四线电阻式触摸屏,通过检测x轴和y轴的电压,来确定触点的位置。一般触摸屏系统结构为:触摸屏->触摸屏控制器->处理器。

wince7下触摸屏的驱动分为PDD层(位于bsp目录中)和MDD层(位于public目录中)。PDD层和MDD层通过DDSI接口函数连接,MDD层和上层通过DDI函数连接。其中MDD层一般无需修改,我们只需修改PDD层的代码。

比如我的bsp目录下触摸屏驱动中的touchscreenpdd.cpp文件中主要有如下函数:

TchPdd_Init()

TchPdd_Ioctl()

PDDTouchIST()

PDDInitializeHardware()

PDDTouchPanelEnable()

PDDTouchPanelGetPoint()

PDDCalibrationThread()

PDDStartCalibrationThread()

PDDDeInitailzeHardware()

PDDTouchPanelDisable()

其中TchPdd开头的函数就是DDSI函数,PDD开头的函数就是PDD层的函数。MDD层会最先调用TchPdd_Init()函数,该函数会将DDSI函数以函数指针的形式传递给MDD层,并调用PDD层的函数进行必要的初始化,如调用PDDInitializeHardware()来初始化SPI,GPIO(我的触摸屏控制器使用SPI接口),调用PDDTouchPanelEnable()来创建“触摸屏事件”,创建IST线程等。

IST线程函数PDDTouchIST()中会有一个while循环,如下图所示:

 

循环中有一个WaitForSingleObject(,)函数。该函数有两个参数,第一个参数是“触摸屏事件”的句柄,第二个参数用来设置等待超时的时间。 IST线程执行到这个函数会等待“触摸屏事件”发生或者超时。当这两种情况之一发生后,线程就会往下执行,并调用 PDDTouchPanelGetPoint()函数来读取触点坐标。在“触摸屏事件”发生之前,超时时间会设置为无限等待。只有当“触摸屏事件”发生后(触点按下)才会开始读坐标,并判断是否还是按下状态,如果还是按下状态,那么就会设置超时时间为某一个有限值,这样当 WaitForSingleObject等待时间超过这个值后又会去读取坐标。这种机制就能保证我们能读取到触点移动的轨迹。

当然要想使用“触摸屏事件”,必须要有一个触摸屏的中断(当触点按下,这个中断发生),并将这个中断和“触摸屏事件”关联起来,这样中断发生后,才会触发“触摸屏事件”。

还有一种方法:不使用中断,直接采用轮询方式来读取坐标,通过读取坐标值的合法性来决定是否有触点按下。这种方式下,WaitForSingleObject的第一个参数就不起作用,且第二个参数必须设为一个有限值,这个值就决定来轮询的频率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对鼠标的认识,本文将对鼠标左键单击变双击的维修方法以及鼠标单击异常的解决方法予以介绍。

关键字: 鼠标 指数 驱动

电容式触摸屏又称电容触摸屏,是一种生长在电子行业中的新型非接触式触摸技术,广泛应用在人机交互界面,实现与人机之间信息传递,它带动了科技发展,改变着日常生活。

关键字: 电容式 触摸屏 交互界面

以下内容中,小编将对显卡驱动的相关内容进行着重介绍和阐述,希望本文能帮您增进对显卡驱动的了解,和小编一起来看看吧。

关键字: 显卡 驱动 显卡驱动

电动汽车电机是电动汽车的核心部件,负责驱动汽车的行驶。本文将详细介绍电动汽车电机的类型及其工作原理,以帮助用户更好地了解和应用电动汽车电机。

关键字: 电动汽车 驱动

近年来,中国的电机驱动芯片市场规模不断增长。根据灵动核心的数据,2021年中国电机驱动芯片市场规模达到129.81亿元,同比增长1.85%。这一增长趋势主要得益于中国机械机电与电子信息行业的发展,以及5G通信、物联网、智...

关键字: 直流电机 驱动 芯片

随着汽车电子技术的飞速发展,汽车电子设备触摸屏已经成为汽车信息娱乐系统、导航系统、车载通信系统等设备的核心组成部分。然而,复杂的电磁环境对汽车电子设备触摸屏的电磁兼容性(EMC)提出了更高的要求。为了使汽车电子设备触摸屏...

关键字: 汽车电子 触摸屏 电子设备

触摸屏显示器是每个现代支付系统和销售点(POS)终端的重要组成部分。触摸屏极大地提升了支付终端的美观度,同时提供了一种对手机、平板电脑和触摸屏笔记本电脑的用户来说都十分熟悉的现代化控制方式。尽管触摸屏拥有这些优点,但也增...

关键字: 触摸屏 POS显示器

汽油汽车和电动汽车的主要区别在于动力来源和传动方式。汽油汽车使用内燃机燃烧汽油产生动力,通过变速箱和传动轴驱动车轮。电动汽车使用电池储存电能,通过电动机直接驱动车轮。

关键字: 电动汽车 燃油汽车 驱动

现今我们常用的触摸屏可分为电阻式触摸屏、表面电容式触摸屏、红外式触摸屏、表面声波式触摸屏4 类。

关键字: 电阻 触摸屏 红外式触摸屏

电阻屏和电容屏的区别在原理、抗损能力、像素精度等方面

关键字: 电容 触摸屏 像素精度
关闭
关闭