阅读:1921回复:12
配置好之后端点0怎么那么大? 什么问题?
Device Descriptor:
bcdUSB: 0x0110 bDeviceClass: 0xDC bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x10 (16) idVendor: 0x0471 (Philips) idProduct: 0x0001 bcdDevice: 0x0001 iManufacturer: 0x01 iProduct: 0x02 iSerialNumber: 0x00 bNumConfigurations: 0x01 ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x02 Open Pipes: 2 Endpoint Descriptor: bEndpointAddress: 0x81 Transfer Type: Bulk wMaxPacketSize: 0x0010 (16) bInterval: 0x0A Endpoint Descriptor: bEndpointAddress: 0x00 Transfer Type: Control wMaxPacketSize: 0x0507 (1287)<======这里怎么这么大? wInterval: 0x0201 bSyncAddress: 0x10 [编辑 - 4/19/04 by hejoin] |
|
|
沙发#
发布于:2004-04-19 22:09
帮忙看看
|
|
|
板凳#
发布于:2004-04-19 22:39
请问你是用某个软件看的吗?我也曾经看过。发现关于端点描述方面也是不正确的。我发现第一个端点是正确的。但是其他的就好像是错开了。比如你那里的SIZE是0507这本来就是描述符的一部分。现象跟我的一样。
其实没事的。是你用的那个软件的问题。 |
|
地板#
发布于:2004-04-19 22:46
真的还是假的?
usbview看的啊 |
|
|
地下室#
发布于:2004-04-19 23:04
好像就是这个软件。我回去看看。反正我用正式的U盘看,也是错的。而且有规律的。第一个正确。后面的好像是接收时候错位了。
不信你用一个正式的U盘看看 |
|
5楼#
发布于:2004-04-19 23:21
我看usb鼠标是对的啊
|
|
|
6楼#
发布于:2004-04-19 23:23
我看U盘是错得。哈哈。我也不清楚出啥问题。明天我再看看。。。
|
|
7楼#
发布于:2004-04-19 23:25
你有没有发现软件显示得数据其实都是你发过去得描述符,只是他处理错了。
|
|
8楼#
发布于:2004-04-19 23:27
你有没有发现软件显示得数据其实都是你发过去得描述符,只是他处理错了。 对,确实 |
|
|
9楼#
发布于:2004-04-19 23:35
其实你用USB调试助手验证一下能否正常收发数据就可以知道对不对了。比如你在描述符中对SIZE改小,那么你会发现只能收到相应长度得数据。这样就可以验证你得描述符设置对了。
|
|
10楼#
发布于:2004-04-19 23:37
其实你用USB调试助手验证一下能否正常收发数据就可以知道对不对了。比如你在描述符中对SIZE改小,那么你会发现只能收到相应长度得数据。这样就可以验证你得描述符设置对了。 现在问题就在这里,用 windriver无法对0端点之外的任何端点进行操作,写数据总是超时,所以才怀疑是不是配置的问题,看一下吓一跳,接下去要自己写ddk,首先要保证这里没有问题才好,要不然,还麻烦很! |
|
|
11楼#
发布于:2004-04-20 12:03
你弄错了,那个端点应该是0x01,对应前面的0x81,控制端点是默认的不能配置的!
那个0x0507估计是endpoint描述符的前两个字节 如下: 0x0507//看此处,估计是你驱动里或者固件程序里弄错了。 0x0281 0x4000 0x0700 0x0105 0x4002 0x0000 |
|
12楼#
发布于:2004-04-20 12:07
感谢,有点清晰了
|
|
|