阅读:2260回复:12
在D12枚举过程当中出现的奇怪问题!超出USB控制器的带宽错误!还请各位多多指点!
各位高手~
出现的情况如题! 不知道大家有没有遇到过! 我现在开发的是USB 打印机,使用D12芯片。 相关资料如下图:还请各位前辈多多指点,究竟什么原因导致这种情况出现: |
|
|
沙发#
发布于:2004-12-24 15:46
我点击是之后出现的对话框:
|
|
|
板凳#
发布于:2004-12-24 15:54
这个是BUS_HOUND抓的枚举过程
|
|
|
地板#
发布于:2004-12-24 19:43
http://devking.51.net/
提供优惠的开发板 D12 开发不再是问题 [编辑 - 12/24/04 by yyouking] |
|
|
地下室#
发布于:2004-12-26 23:54
那位高手能够给小弟指点一下!多谢了!
|
|
|
5楼#
发布于:2004-12-27 13:48
哈哈哈.
我也碰到过这个问题,记得当时给的信息是USB设备要求带宽为 1600+%.我都蒙了. 怎么解决的具体不记得了,反正是固件的问题,不是设备响应命令就是 端点设置的问题.你自己查查吧. 哈哈哈. |
|
|
6楼#
发布于:2004-12-28 00:45
:D是呀!
是呀!没错,就是我的固件描述府配置的问题! 解决了,还是一时粗心呀! 现在进入USB PRINTER CLASS-SPECIFIC request阶段了! 老大,有没有相关的处理资料呀! 对于GET DEVICE ID 请求我将要传回什么数据呢》 |
|
|
7楼#
发布于:2004-12-28 08:37
我也是做USB的打印机,但我不是用USB PRINTER类.
|
|
|
8楼#
发布于:2004-12-28 09:42
老大,那您是用什么方法处理的呢?能否告知小弟!
[编辑 - 12/28/04 by XR_WDM] |
|
|
9楼#
发布于:2004-12-28 13:05
还是直接买个开发板,不要这么浪费时间了 http://devking.51.net/ |
|
|
10楼#
发布于:2004-12-28 13:31
你是说如何响应GET DEVICE ID命令?我是作为通用设备来处理的,没
有你那个命令.GET DEVICE ID是什么命令?USB PRINTER类命令(好象 不是)?还是VENDOR命令?如果是USB PRINTER类命令就要按照协议的要 求处理了.如果是VENDOR命令,那就好办了.自己定义规范,自己遵守. 如:收到GET DEVICE ID命令,返回一个值(16进制或BCD都可以)就行 了.在驱动里对他进行解析和处理. 对了,你那个GET DEVICE ID是干什么用的? |
|
|
11楼#
发布于:2004-12-29 00:31
其实有三个CLASS-SPECIFIC REQUEST(就是usbprint11.pdf当中说明的呀)。
1.GET DEVICE ID (要求return a device ID string that is compatible with IEEE 1284) 2.GET PORT STATUS ( return the printer's current status) 3.SOFT RESET ( request flushes all buffers and resets the Bulk OUT and Bulk IN pipes to their default states.) 老大这些请求该如何应答呢? DEVICE ID 究竟如何得到呢? 还请老大帮忙呀! |
|
|
12楼#
发布于:2004-12-30 18:22
1.随便给一个跟IEEE 1284兼容的数,看看有什么反应.可能这个请求
是要你的设备号,即每个不同的同类设备要有个不同的号,相似于网卡 的MAC地址. 2.就是回复你的设备状态:空闲、忙、故障...根据你的设备回复吧, 要符合协议要求. 3.就是他要RESET BULK端口,你的设备的相应端口的BUFF要清0. 我就是不喜欢这么麻烦所以才用通用设备类(0)的.以上不一定准确, 因为我没响应它们. |
|
|