阅读:1028回复:0
求教USB驱动开发的简单问题
我最近作一个USB驱动程序(DrvierStudio3.0),芯片PDIUSBD12,利用断点1,中断传输,最大传输字节16。
首先有个问题请教大家: KUSBLowerDevice的成员函数 PURB BuildVendorRequest( KMemory & TransferBufferMDL,//应用程序存放传输数据的内存,需要变为KMemory类实例。 ULONG TransferBufferLength,//传输的字节数,对应于wLenght。 UCHAR RequestTypeReservedBits,//类别请求字节中的保留位。 UCHAR Request,//具体请求数值,对应于bRequest。 USHORT Value,数值,对应于wValue。 ...); 其中 UCHAR Request参数我有点疑问,上面的注释我摘自一参考书。上面说是对应bRequest, 即控制传输的Setup令牌包中的bRequest,为域标识特别的请求(一些标准请求,比如CLEAR_FEATURE等), 但我下载到一实例,发现Request是一上下位机约定,比如0:表示LED灯亮,1:表示LED灯灭,2:表示 上位机读数据(数据在TransferBufferMDL中),3:表示上位机写数据等等。 到底是怎么样的,请教各位。 我找到的一些实例都是简单的控制LED灯,大家有没有好一点带有数据传输的实例, EMail:NeutronBoy@sohu.com 将不胜感激。 如果帮我解决问题,一套<<Visual Studio 2003(附MSDN2003)简体中文企业版>>送上(D版)。 希望各位高手能留下大名和Email(或QQ)。 |
|