touch触摸[精选].docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
touch触摸[精选]

触摸屏驱动分析: (本机驱动) (2009-12-13 19:22) 分类: 驱动 GWES 加载,GWES 通过MDD层的DDI设备驱动程序接口函数(Device Driver Interface,DDI),实现和驱动程序的交互,而PDD层则通过实现DDSI接口函数(Device Driver Service Provider Interface, DDSI),来完成对系统的支持和对硬件的控制。他们的关系是:MDD 链接PDD 层并定义它希望调用的函数接口:设备驱动程序提供器接口。同时MDD 把不同的函数集提供给操作系统。 ? Windows CE 的触摸屏驱动链接了tch_cal.lib 和tchmdd.lib 两个静态链接库。 所以在编写source檔时,要记得加上: SOURCELIBS= \ ??????????? $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\tch_cal.lib \ ??????????? $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\tchmdd.lib? ? 标准接口声明(touch.def檔中声明) ?????? TouchPanelGetDeviceCaps; ?????? TouchPanelEnable; ?????? TouchPanelDisable; ?????? TouchPanelSetMode; ?????? TouchPanelReadCalibrationPoint; ?????? TouchPanelReadCalibrationAbort; ?????? TouchPanelSetCalibration; ?????? TouchPanelCalibrateAPoint; ?????? TouchPanelPowerHandler; 详解: DDI界面是在WINCE500\PUBLIC\COMMON\OAK\DRIVERS\TOUCH\TCHMAIN中的tchmain.c檔中实现,在此檔中,MDD通过调用PDD的DDSI接口来实现DDI函数. DDI 接口包括 TouchPanelGetDeviceCaps、 TouchPanelEnable、 TouchPanelDisable、 TouchPanelSetMode、 TouchPanelReadCalibrationPoint、TouchPanelReadCalibrationAbort、 TouchPanelSetCalibration、 TouchPanelCalibrateAPoint、 TouchPanelPowerHandler。 ? PDD层是我们真正要写的,直接与所要驱动的硬件相关。 DDSI 接口包括: DdsiTouchPanelAttach、 DdsiTouchPanelDetach、 DdsiTouchPanelDisable、 DdsiTouchPanelEnable、 DdsiTouchPanelGetDeviceCaps、 DdsiTouchPanelGetPoint、 DdsiTouchPanelPowerHandler。 ? 我们现在重点讲PDD层要实现的DDSI函数。 ? DdsiTouchPanelEnable 由TouchPanelEnable调用 1:创建事件hTouchPanelEvent 和hCalibrationSampleAvailable。 2: 检查并初始化所需的中断gIntrTouch(触摸屏中断)和 gIntrTouchChanged(定时器中断) 3: 创建一个ISR 线程TouchPanelpISR 4: DdsiTouchPanelDisable、 DdsiTouchPanelGetPoint: 函数获取当前触摸屏位置和状态信息; DdsiTouchPanelGetDeviceCaps 询问校正点数 由TouchPanelGetDeviceCaps调用 ? ? ? ? MDD分析: ? 在PDD层的档与MDD与的檔之间,通过共同包含头檔tchddsi.h。来实现中逻辑中断号的通用,中断的传递等。在WINCE5.0中,tchddsi.h文件放在D:\WINCE500\PUBLIC\COMMON\OAK\INC 中,如有必要,可进行修改 接口函数声明也在该目录的touch.def文件中 摘自tchddsi.h //定义触摸中断和 定时器中断 的逻辑中断号 extern DWORD gIntrTouch; extern DWORD gIntrTouchChanged; ? 在文件tchmail.c 中, 1:TouchPanelEnable函数主要做以下工作 ? //把中断与事件

文档评论(0)

dart001 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档