WINCE下USB驱动程序.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何编写WINDOWS CE.NET的USB驱动程序 发表:不详?? 阅读: 226次??关键字:?? 字体:[大 中 小] 随着USB设备的普及,摆在开发人员面前的驱动开发任务也是越来越繁重了,特别是对于一些嵌入式开发厂商来讲,由于设备所采用的操作系统不同,相应的硬件接口也是不一样的,开发相关的USB驱动程序更是难上加难。Windows CE.NET 是微软推出的功能强大的嵌入式操作系统,国内采用此操作系统的厂商已经很多了,本文就以windows 为例,简单介绍一下如何开发windows 下的USB驱动程序。 首先要熟悉一些USB的基本概念,当然最好把USB 1.1的协议看一遍,(当然现在2。0的协议都已经有了) 上可以下载,我记得好像有个中文版的,翻译的还可以,上有的,具体位置记不太清楚了,中文版的协议可以快速翻一边,了解一些基本的概念,但是设计到一些关键性的东西最好还是看英文版的心里比较清楚些。 这里我就不介绍USB的基本协议了,假设用户已经熟悉了USB设备的一些基本的概念,并且对Winows CE.NET的开发有一定的了解。 下面简略介绍一下Windows CE.NET中USB设备驱动开发的一些基础知识。 Windows CE.NET 的USB系统软件分为两层: USB Client设备驱动程序和底层的Windows CE实现的函数层。USB设备驱动程序主要负责利用系统提供的底层接口配置设备,和设备进行通讯。底层的函数提本身又由两部分组成,通用串行总线驱动程序(USBD)模块和较低的主控制器驱动程序(HCD)模块。HCD负责最最底层的处理,USBD模块实现较高的USBD函数接口。USB设备驱动主要利用USBD接口函数和他们的外围设备打交道。 USB设备驱动程序主要和USBD打交道,所以我们必须详细的了解USBD提供的函数。 主要的传输函数有: AbourtTransfer   IssueControlTransfer CloseTransfer    IssueInterrupTransfer GetIsochResult   IssueIsochTransfer GetTransferStatus  IstransferComplete IssueBulkTransfer  IssueVendorTransfer 主要的用于打开和关闭USBD和USB设备之间的通信通道的函数有: AbortPipeTransfers  ClosePipe IsDefaultPipeHalted  IsPipeHalted OpenPipe       ResetDefaultPipe ResetPipe 相应的打包函数接口有: GetFrameLength   GetFrameNumber   ReleaseFrameLengthControl SetFrameLength   TakeFrameLengthControl 取得设置设备配置函数: ClearFeature   SetDescriptor GetDescriptor  SetFeature GetInterface   SetInterface GetStatus    SyncFrame 与USB进行交互的实现方法相关的多任务函数: FindInterface         RegisterClientDeviceId GetDeviceInfo         RegisterClientSettings GetUSBDVersion         RegisterNotificationRoutine LoadGenericInterfaceDriver   TranslateStringDescr OpenClientRegisterKey     UnRegisterNotificationRoutine 常见的Windows CE.NET下USB的设备驱动程序的编写有以下几种方法: ● 流式接口函数 这种驱动程序主要呈现流式函数接口,主要输出XXX_Init,XXX_Deinit,XXX_Open,XXX_Close,XXX_Open,XXX_Close,XXX_Read,XXX_Write, XXX_Seek,XXX_IOControl,XXX_PowerUp,XXX_PowerDown等流式接口,注意上述的几个接口一定都要输出,另外XXX必须为三个字符,否则会出错。但是此类的驱动程序不是通过设备管理接口来加载的,所以必须手工的调用RegisterDevice()和DeregisterDevice()函数来加载和卸载驱动程序。用户可以将此类的设备作为标准的文件来操作,只要调用相应的文件

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档