windows – 我是否需要为CDC设备编写自己的主机端USB驱动程序
这可能不被认为与编程直接相关,但我不知道还有什么要问的.我曾尝试查看各种网站,但到目前为止谷歌还没有成为我的朋友.
我无法确定是否需要为我正在开发的设备连接的各种windows / linux / mac平台编写自己的设备驱动程序,或者是否由标准驱动程序提供功能. 我的设备是USB CDC(通信设备),显示为COM:端口.它还包括一个电池充电器,一旦设备被枚举,就需要从USB连接器获取完整的5个单位负载(500mA)电源电流.我的问题是,如果主机中的USB驱动程序决定它无法提供全部电源电流,那么它应该无法枚举设备. 如果作为后备,我提供第二个配置集,只允许设备从接口连接器中提取1个单位负载,标准驱动程序将使用此配置枚举设备.
您需要为Windows编写一个.inf文件,它将您的设备VID和PID与系统usbser.sys捆绑在一起.我看起来像这样(根据需要替换YourCompany,输入您的VID和PID(十六进制),并将DriverVer行更改为您想要的任何日期和版本):
; ----------------------------------------------------------------------------- ; XP/2000 USB Comms Port Setup ; ----------------------------------------------------------------------------- [Version] DriverVer=12/03/2008,1.0.0000.0000 Signature="$Windows NT$" Class=Ports ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318} Provider=%YourCompany% [DestinationDirs] DefaultDestDir=10,system32drivers DriverCopyFiles=12 [ControlFlags] ExcludeFromSelect = * [Manufacturer] %YourCOmpany%=YourCompanySerialPort [YourCompanySerialPort] %YourCompanyUSBSerialPort%=YOURCOMPANYUSB,USBVID_1234&PID_ABCD ; ; Win 2000/XP ; [YOURCOMPANYUSB] Include=mdmcpq.inf CopyFiles=FakeModemCopyFileSection [YOURCOMPANYUSB.HW] AddReg=YOURCOMPANYUSBAddReg.HW [YOURCOMPANYUSBAddReg.HW] HKR,DevLoader,*ntkern HKR,NTMPDriver,"usbser.sys" [YOURCOMPANYUSB.Services] AddService=usbser,0x00000002,FuncDrv_Service_Inst [FuncDrv_Service_Inst] DisplayName=%USBFilterString% ServiceType= 1 StartType = 3 ErrorControl = 0 ServiceBinary = %12%usbser.sys [Strings] YourCompany="YourCompany" YourCompanySerialPort="Your Company USB Serial Port" USBFilterString = "USB Serial Service" 请注意,这仅适用于32位操作系统.虽然文件头没有这么说,但它也适用于Vista! 请注意,某些版本的usbser.sys存在重大问题,包括蓝屏,例如在传输64字节精确倍数的数据包时.如果您使用的是XP SP2或之前的版本,请安装修补程序KB943198. XP SP3和Vista都很好. 对于Mac,您只需要正确报告设备类,驱动程序扫描就会选择正确的驱动程序. (Windows会忽略设备类,这就是您需要提供.inf文件的原因). 编辑:对不起,我应该更清楚.如果它不能完全负载,这将不会失败 – 我不确定是否可能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – 如何在perfmon.exe中为当前未运行的进程添加进程
- listen()每个Windows版本的最大队列大小
- windows – VSCode终端以前的命令
- windows – 参数的CMD变量替换
- 有什么像/ proc for windows
- windows – 在iis 6中启用REST(GET,POST,PUT,DELETE)支持
- 关于printf()long unsigned int和uint32_t的编译器警告
- winapi – 在Windows上自定义控件中处理任意文本输入的正确
- 打开一个文件夹,并使用WPF突出显示一个特定的文件
- windows – ProcMon和CreateFile处理选项之间的对应关系