WinCE触摸屏驱动开发

WinCE触摸屏驱动开发

ID:40572333

大小:53.50 KB

页数:10页

时间:2019-08-04

WinCE触摸屏驱动开发_第1页
WinCE触摸屏驱动开发_第2页
WinCE触摸屏驱动开发_第3页
WinCE触摸屏驱动开发_第4页
WinCE触摸屏驱动开发_第5页
资源描述:

《WinCE触摸屏驱动开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WinCE触摸屏驱动开发上一篇/下一篇 2009-06-3015:41:26查看(188)/评论(1)/评分(0/0)触摸屏驱动开发1.触摸屏驱动程序的模型1.1分层触摸屏驱动层序结构本触摸屏驱动采用那个分层驱动程序结构,其驱动模型如下图所示,这种结构将驱动程序代码区分为上层模型设备驱动层(MDD),下层是依赖平台的驱动层(PDD)。其中MDD层通常无需修改就可以直接使用,改部分提供面向GWES的DDI的接口,而MDD通过指定的DDSI函数接口调用PDD,这就是我们通常驱动要实现的部分。PDD部分和MDD部分除了DDSI函数集接口外,还要实现一些指定的变量的定义或变量初始

2、化动作(比如,gIntrTouch和gIntrTouchChanged在PDD层定义,但主要在MDD层使用。),也就是说MDD层和PDD层之间并不一定是以严格的分层模型来实现的,有时候也要通过共享变量的方式来完成交互。1.2DDI函数集(MDD层)TouchPanelPowerHandler(BOOLboff)TouchScreen的电源管理函数,boff:TRUE表示关闭电源,FALSE表示打开电源,其只是调用DdsiTouchPanelPowerHandler()函数,该函数在进入或退出poweroff状态时产生。TouchPanelCalibrationAPoint

3、()该函数用于校准输入的触摸屏坐标,把触摸屏坐标转换为显示坐标,利用了公式Sx=A1*Tx+B1*Ty+C和Sy=A2*Tx+B2*Ty+C2。TouchPanelReadCalibrationPoint()在执行触摸屏校准程序时,用这个函数获得在当前校准点的十字形上点击的触摸屏坐标。TouchPanelReadCalibrationAbord()该函数在校准取消时被调用(在触摸屏校准程序运行过程中取消校准),仅仅设置状态位和事件后返回。TouchPanelDisable()禁用触摸屏(touchpanel)设备,该函数关闭ISR,停止中断和注销事件及其他同步手段,此函数

4、调用了DdsiTouchPanelDisable()函数。TouchPanelEnable(PFN_TOUCH_PANEL_CALLBACK   pfnCallback)PfnCallback是指向处理touchpanel事件的回调函数,该函数的执行动作:⑴创建事件hTouchPanelEvent和hCalibrationSampleAvailable,其中当触笔按下或抬起,或者定时器中断时会触发hTouchPanelEvent事件,而在校准状态下当有校准数据输入时会触发hCalibrationSampleAvailable事件。⑵初始化临界区,初始化所需的触摸屏中断gI

5、ntrTouch和gIntrTouchChanged,并且把它们关联到事件hTouchPanelEvent中。⑶创建ISTTouchPanelpISR,并设定其优先级。TouchPanelSetCalibration()该函数通过运行触摸屏校准程序时的校准动作获得显示坐标(Sx,Sy)和触笔在十字形上按下的触摸坐标(Tx,Ty)用于计算校准参数A1,B1,C1和A2,B2,C2。TouchPanelGetDeviceCaps()用于查询触摸屏设备支持的具体功能,通过DDSI函数查询相应的信息,当查询屏幕坐标信息时保存屏幕信息,供后面程序计算校准参数所用。TouchPane

6、lSetMode()用于设置触摸屏的工作模式(采用低采样率还是高采样率),当设置IST优先级时直接通过内核API来完成,而直接将其他设置交给DdsiTouchPanelSetMode()函数来处理。1.3DDSI函数集(PDD层)DdsiTouchPanelGetDeviceCaps(INTiIndex,LPVOIDlpOutput)查询touchpanel设备的相关信息。IIndex:查询的索引值,其取值如下:TPDC_SAMPLE_RATE_ID:查询采样率信息。TPDC_CALIBRATION_POINT_COUNT_ID:查询用于校验的点的个数。TPDC_CALI

7、BRATION_POINT_ID:查询需要校验的点的坐标。LpOutput:根据iIndex值分别指向相关的信息。DdsiTouchPanelSetMode()设置TouchPanel工作模式。iIndex:模式索引TPSM_SAMPLERATE_HIGH_ID:高采样率TPSM_SAMPLERATE_LOW_ID:低采样率lpInput:指向包含相关信息的内存DdsiTouchPanelEnable()该函数所执行的动作:⑴为需要用到的I/O,ADC,PWM和INT寄存器分配内存空间。⑵配置触摸屏控制器、中断控制器和PWM的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。