首页 > 嵌入式软件 > WinCE

 

本文引用地址: http://www.21ic.com/embed/software/wince/201806/53406.html

嵌入式系统中较为常用的是四线电阻式触摸屏,通过检测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的第一个参数就不起作用,且第二个参数必须设为一个有限值,这个值就决定来轮询的频率。

 

换一批

延伸阅读

[行业资讯] 指纹芯片厂商上半年价格一路跌,用啥赚钱

指纹芯片厂商上半年价格一路跌,用啥赚钱

2017年时间已历经过半,不少指纹芯片厂商都对自己上半年的营收情况有个总结,如汇顶、贝特莱、神盾等上市公司都相继发布了上半年财务报告,其指纹芯片业务营收都有所增长。除上市公司之外,据笔者了解,其他芯片厂商营收虽没具体统计,但也呈现增长状态。......

关键字:指纹识别 触摸屏 汇顶 芯片

[新鲜事] 库克笑了,特朗普表示不会对中国组装的iPhone加征关税

库克笑了,特朗普表示不会对中国组装的iPhone加征关税

6月19日消息,据VentureBeat报道,随着美国计划对中国产品加征500亿美元关税,中美之间的贸易紧张局势继续升级,苹果担心中国将为其产品设置监管和出货障碍。苹果首席执行官蒂姆·库克(Tim Cook)正在与两国政......

关键字:特朗普 库克 iPhone

[猎聘集] 面试过900+工程师的HR自述,手把手教你看破面试中的套路

面试过900+工程师的HR自述,手把手教你看破面试中的套路

技术面试常常有很多坑,不管是对面试官还是面试者来说,都是如此。这篇文章可以让技术面试官规避很多面试过程中可能出现的问题,也可以给即将参与技术面试的面试者一定的启发。......

关键字:技术面试

[趣科技] 科学家培育出更加逼真的类大脑:直径4毫米微型球状

科学家培育出更加逼真的类大脑:直径4毫米微型球状

而斯坦福大学的神经科学家塞吉厄·帕斯卡(Sergiu Pa?ca)希望精神病学领域也能经历如此巨大的转变。但与癌症相比,研究人脑带来的挑战更大。由于大脑科学家不能像医生解剖肿瘤那样、从健康人的大脑皮层下切下一块组织,他们必须发挥创造力、另辟......

关键字:类大脑 肿瘤治疗

[真心话] 电子工程师安身立命的八大看家本领,你学会了几个?

电子工程师安身立命的八大看家本领,你学会了几个?

作为一个电子工程师(electronic engineer)必备技能:抄板,焊板,画板,仿真,编程,调试,创意,坚持。八大技能,你几级了?......

关键字:电子工程师
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14