1
6
您需要为Windows编写一个.inf文件,将设备VID和PID与系统usbser.sys绑定在一起。我的看起来是这样的(必要时更换您的公司,放入VID和PID(十六进制),并将驱动程序行更改为您想要的任何日期和版本):
注意这只适用于32位OSS。它也适用于Vista,尽管文件头没有这么说! 请注意,usbser.sys的某些版本存在重大问题,包括蓝屏,例如,传输完全是64字节倍数的数据包时。如果您使用的是xp sp2或更高版本,请安装修补程序kb943198。xp sp3和vista都可以。 对于Mac,您只需要正确地报告设备类,并且驱动程序扫描会选择正确的驱动程序。(Windows忽略设备类,这就是您需要提供.inf文件的原因)。 编辑:对不起,我应该更清楚些。如果它不能画满负载,这不会失败枚举-我不确定这是可能的。 |
2
1
我不确定电源问题,但有百分百疾控中心司机(或我认为有),所以你可以使用一个。对于电源问题,有许多配置的解决方案可能是很好的,我在工作中从未遇到过(我有USB分析仪),但有时在家里,当我有3个或更多需要USB电源的不同设备时,我的枚举失败。我认为这是操作系统的选择,如果它不能为新设备供电,它就切断电源(明智的选择,因为它不能为它供电)。这是我的猜测,而不是检查USB标准。 |
3
1
如果您的设备报告主机操作系统已经支持的设备ID, 那他们就不需要司机了。 您可能需要模拟现有的USB UART。数据表随时可用。 (但我想你已经知道了。) 我不确定主机操作系统是否会尊重您的多配置思想。 但给它一个双关语,让我们都知道! |
4
1
你对司机的问题是正确的。当设备插入并经过枚举过程时,需要保持100mA。主机将询问并确定配置。如果有不止一个支持不同的功率级别,那么驱动程序将需要决定选择适当的配置。如果只有大功率而它不可用,那么它将不会枚举设备。一般来说,执行CDC的标准驱动程序不会知道可能的不同设备级配置,因此需要一定程度的定制来处理它们。 |
5
1
如果您的设备作为USB CDC-ACM设备连接到Windows桌面主机,则Windows桌面已提供驱动程序usbser.sys。但是在WindowsVista中有一些问题。您只需要inf就可以在桌面上安装usbser.sys。对于WinCE,您没有驱动程序,您需要编写或从任何第三方供应商处获取驱动程序。这里有一个 http://www.em.avant-garde-lab.com/Products.html 如果您的设备在其设备描述符中指定自己是自供电的,那么主机将依赖于设备的自供电能力。您可以在usb.org上查看详细信息。 谢谢。 |
Vishesh Chanana · “上载草图时出错”Arduino 7 年前 |
Jeff Coe · 确定哪个应用程序正在使用音频设备 8 年前 |
Max Larionov · Arduino无人机项目 9 年前 |
Thomas · FMA指令集的硬件支持有多丰富 9 年前 |
Gaurav Saxena · 如何了解USB设备的支持功能? 9 年前 |
Joney · 计算机系统中的定时机制 10 年前 |