将串行应用移植到USB接口的简便方法(06-100)
现在可以将应用连接到PC上,来看看Windows即插即用技术的响应了。 在对所有USB应用都适用的初始枚举阶段(在USB 2.0标准的第9章描述)之后,屏幕上将弹出一个对话框,提醒用户已经发现一个新的硬件设备,需要为操作系统对其进行配置,以便使用它。 虽然CDC驱动程序已经是操作系统的一部分,但仍然需要更多的信息来帮助将新发现的设备与驱动程序进行绑定。 这会在Windows硬件管理器中创建针对特定端口的“属性页”,以后用户可以用它卸载或重新配置端口。 在安装阶段,需要一个很小的纯文本文件(扩展名为.inf)。需要先用(文本编辑器)准备好,当即插即用向导要求时提供。“.inf”举例如下:
本文引用地址:https://www.eepw.com.cn/article/81086.htm ; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
; Copyright (C) 2004 Microchip Technology
Inc.
[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-
08002BE10318}
Provider=%MCHP%
LayoutFile=layout.inf
DriverVer=08/17/2001,5.1.2600.0
[Manufacturer]
%MFGNAME%=DeviceList
[DestinationDirs]
DefaultDestDir=12
[SourceDisksFiles]
[SourceDisksNames]
[DeviceList]
%DESCRIPTION%=DriverInstall, USBVID
_04D8&PID_000A
;-----------------------------------------------
-------------------------------
; Windows 2000/XP Sections
;-----------------------------------------------
-------------------------------
[DriverInstall.nt]
CopyFiles=DriverCopyFiles
AddReg=DriverInstall.nt.AddReg
[DriverCopyFiles]
usbser.sys,,,0x20
[DriverInstall.nt.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,
Serial PortPropPageProvider"
[DriverInstall.nt.Services]
AddService=usbser, 0x00000002, Driver
Service
[DriverService]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%usbser.sys
;------------------------------------------------ ------ ------------------------
; String Definitions
;------------------------------------------------ ------ -----------------------
[Strings]
MCHP="Microchip Technology Inc."
MFGNAME="Microchip Technology Inc."
DESCRIPTION="Communications Port"
SERVICE="USB RS-232 Emulation Driver"
上面的“.inf”例子可用作模板进行快速定制。 文件格式非常简单,大多数Windows程序员都能快速读懂。 即使对于不太熟悉的人,也可以很快识别中文件由不同部分组成,每个部分的标题包含在方括号中,在相应部分内有一或多个由参数名称和参数值组成的正文。 在整个文件中,只能少数几个部分需要用户定制,包括:
·[Device List] 部分包括从USB-IF获得(许可)的公司和应用独有的VID/PID号码对以及其它信息。
·[Strings]部分包含操作系统在即插即用阶段在不同的对话框中使用的不同字符串和标识,以及在硬件管理器中标识设备的字符串和标识。
评论