阅读:5787回复:13
usb制造商特定请求
下面代码中:
UsbBuildVendorRequest(urb, URB_FUNCTION_VENDOR_DEVICE, sizeof(struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST), GetData ? USBD_TRANSFER_DIRECTION_IN : 0, 0, Request, Value, Index, localBuffer, NULL, length, NULL); Request,Value,Index是什么意思? 能不能给我一个具体的数值?只要是能用的。 谢谢了。 |
|
最新喜欢:![]()
|
沙发#
发布于:2007-08-30 17:08
没有通用性 呵呵
|
|
板凳#
发布于:2007-04-09 17:30
不愧是斑竹
![]() ![]() |
|
地板#
发布于:2004-10-29 09:56
[QUOTE]原本由 halley 发表 U are right. 不过,wIndex的意思更贴近address。 [/quote] 感谢!我也明白了! |
|
地下室#
发布于:2001-08-07 09:10
[QUOTE]原本由 halley 发表
[B][QUOTE]原本由 rayyang2000 发表 U are right. 不过,wIndex的意思更贴近address。 [/B][/QUOTE] 现在明白了很多的,感谢杨版主的解答!! [/B][/QUOTE] 不客气. |
|
|
5楼#
发布于:2001-08-06 18:06
[QUOTE]原本由 rayyang2000 发表
U are right. 不过,wIndex的意思更贴近address。 [/B][/QUOTE] 现在明白了很多的,感谢杨版主的解答!! |
|
6楼#
发布于:2001-08-03 15:45
[QUOTE]原本由 halley 发表
[B]假设我的usb硬件设备是一个存储设备。只要求读写两种请求。我想问一下,我是不是可以这样做: 在硬件上:定义两种request,比如说request=1是读,request=2是写。value是读写的地址,(index不知道要写什么)。具体固件怎么读写省略。 在驱动程序中:也就有两个buildvendorrequest,一个是请求读,定义为:request=1,一个是请求写,定义为:request=2。value也就是所要读写的地址。 不知道我的想法对不对? [halley 编辑于 2001-08-02 12:38] [/B][/QUOTE] U are right. 不过,wIndex的意思更贴近address。 |
|
|
7楼#
发布于:2001-08-03 14:48
作为USB标准接口ControlVendorCommand包括了厂商自定义命令,可以参看INTELCAM程序中的使用,当然这些命令完全取决你的USB厂商的SPEC,我想他们应该有SPEC提供给你,否则你的设置成功几率太小。
|
|
8楼#
发布于:2001-08-02 11:07
假设我的usb硬件设备是一个存储设备。只要求读写两种请求。我想问一下,我是不是可以这样做:
在硬件上:定义两种request,比如说request=1是读,request=2是写。value是读写的地址,(index不知道要写什么)。具体固件怎么读写省略。 在驱动程序中:也就有两个buildvendorrequest,一个是请求读,定义为:request=1,一个是请求写,定义为:request=2。value也就是所要读写的地址。 不知道我的想法对不对? [halley 编辑于 2001-08-02 12:38] |
|
9楼#
发布于:2001-08-02 10:43
[QUOTE]原本由 dallas 发表
[B]request就是USB说明书中的bmrequest index就是USB说明书中的bwindex value就是USB说明书中的bwvalue 这些都是你自己定义的,但request不要和标准的冲突 [/B][/QUOTE] 不会冲突的。bmRequestType的D6..5已经决定了它是Vendor Request,不是Standard Request。 |
|
|
10楼#
发布于:2001-08-02 09:53
request就是USB说明书中的bmrequest
index就是USB说明书中的bwindex value就是USB说明书中的bwvalue 这些都是你自己定义的,但request不要和标准的冲突 |
|
11楼#
发布于:2001-08-01 23:24
Requst 是你的请求代码,由下位机固件需要而定,Wvalue,Index其实是你这个请求代码,所带的参数,这个厂商请求和你调用子程是一样的道理,你要清楚固件需要什么样的厂商请求!!!!
|
|
12楼#
发布于:2001-08-01 09:19
Request, Value, Index都是你自己定义的,只要你的firmware认识,格式参考usb spec 第9章。这些都是普通的数值,也不是指针,怎么会BSOD呢?你还是看看其他参数比如localBuffer是否是有效的指针吧!
|
|
|
13楼#
发布于:2001-08-01 01:03
我给出了一个数值,如
Request=0x0c, Value=0x01, Index=0x0, 这时机器立马蓝屏,说是usbd出错了。 |
|
|