WinCE下编写USB client驱动时会用到的一些API

USB设备驱动程序主要和USBD打交道,所以我们必须详细的了解USBD提供的函数。

USB系统软件由两层组成:
1.较高的USB Client设备驱动程序
2.较低的由Windows CE实现的USB函数层(第二层由较高的通用串行总线驱动程序USBD模块和较低的控制器驱动程序HCD模块组成。)
HCD模块给USBD模块提供最底层的支持,USBD实现高层的USBD接口函数。USB设备驱动程序使用USBD提供的接口函数和外围设备进行通讯。

WINCE USB系统结构:USB设备驱动程序-》USBD-》HCD-》USB控制器硬件

编写USB设备驱动程序方法:
1.USB设备驱动程序使用USBD模块提供的函数操作USB设备。
2.使用流接口函数
3.使用现有的Windows CE应用程序编程接口(API)

USBD的实现在WINCEROOT\public\common\oak\drivers\usb\USBD 文件夹下有源代码:

USBD的传输函数:10

AbortTransfer :中断传输
CloseTransfer : 关闭传输
GetIsochResults :获取同步传输结果
GetTransferStatus:得到当前的传说状态
IssuBulkTransfer :在特定的端口上初始化块传输
IssueControlTransfer:在特定的端口上初始化控制传输
IssueInterruptTransfer:在特定的端口上初始化中断传输
IssueIsochTransfer:在特定的端口上初始化同步传输
IsTransferComplete :传输结束?
IssueVendorTransfer :在特定的端口上初始化厂商自定义传输

USBD和USB设备建立通讯管道的函数:7
AbortPipeTransfer
ClosePipe
IsDefaultPipeHalted
IsPipeHalted
OpenPipe
ResetDefaultPipe
ResetPipe

USB针对在总线上的数据打包函数:5
GetFrameLength
GetFrameNumber
ReleaseFrameLengthControl
SetFrameLength
TakeFrameLengthControl

取得设置设备配置函数: 8
ClearFeature ??
SetDescriptor
GetDescriptor??
SetFeature
GetInterface??
SetInterface
GetStatus????
SyncFrame

与USB进行交互的实现方法相关的多任务函数:10
FindInterface?????????
RegisterClientDeviceId
GetDeviceInfo?????????
RegisterClientSettings
GetUSBDVersion ????????
RegisterNotificationRoutine
LoadGenericInterfaceDriver      
TranslateStringDescr
OpenClientRegisterKey??
UnRegisterNotificationRoutine

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(652) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值