新闻中心

EEPW首页>嵌入式系统>设计应用> 基于嵌入式触摸屏驱动程序的研究与开

基于嵌入式触摸屏驱动程序的研究与开

作者: 时间:2012-03-21 来源:网络 收藏

3 WinCE下驱动程序模型

要编写驱动程序还要确定它是属于哪种驱动。Windows CE驱动程序分本机设备驱动和流设备驱动。本机设备驱动程序是被静态地链接到GWES,它们不作为一个单独的DLL存在。有一些类型的设备,如键盘、显示器和PC卡插槽等对操作系统都有一定的接口,是专门用于Windows CE.NET的,所以它们都属本机设备驱动。若是按照结构分,又可分为分层的驱动程序和不分层的驱动程序。分层的驱动程序由两个设置好的层组成:上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。流接口驱动程序是以动态链接库形式存在的,由设备管理器统一加载、管理和卸载。其驱动模型见图3。本文采用分层的驱动程序来完成基于驱动[2-3]。


图3 WinCE下驱动程序模型

4 Windows CE下驱动程序的实现

4.1 配置硬件

对于分层的驱动程序只需要编写对应于特定硬件平台的PDD层代码。首先是配置控制器硬件,这是完成驱动程序的第一件事,即对进行硬件初始化。也就是通过向映射到存储器的寄存器中写入数据将触摸屏控制器设置成某个确定的状态。配置硬件之前,我们需要事先决定是否采用中断驱动,这里我们采用中断驱动方式。要说明的是,并不是采用中断永远是最好的设计方式。配置硬件这一过程是由TouchPanalPowerOn()函数完成的。下面是部分实现代码:

TouchPanelPowerOn()

{

......

// Setup GPIOs for touch为触摸屏设置输入/输出口

v_pIOPregs->rGPGCON = ~((0x03 30)|(0x03 28)|(0x03 26)|(0x03 24));

// Set GPG15 to use as nYPON, GPG14 to use as YMON, GPG13 to use as nXPON, GPG12 to use as XMON 配置PORT G的管脚

......

// Setup ADC register

// Down Int, YMON:0, nYPON:1, XMON:0;nXPON:1, Pullup:1, Auto Conv.,Waiting.

v_pADCregs->rADCTSC = (08)|(17)|(16)|(05)|(14)|(03)|(02)|(3);

......

}



评论


相关推荐

技术专区

关闭