stm32 虚拟串口 window7下驱动安装成功

[复制链接]
 楼主| xfcjava2 发表于 2011-5-12 18:42 | 显示全部楼层 |阅读模式
不管是使用STM32官方提供的驱动,还是使用网上下载的.inf文件,在windows7下安装驱动,能够安装上,可以很多时候是出现黄色的小叹号,说设备无法启动,错误代码:10。导致无法使用。
  今天本人就成功地安装上驱动了,很是高兴。原先也是试验了多次,没有成功。就手动修改inf文件,终于成功了!
  成功的关键所在:  USB\VID_10c4&PID_ea60;此处的VID和PID一定要和你程序中使用的ID相同。

  以下是本人使用的inf文件:
   
;------------------------------------------------------------------------------
; STMicroelectronics Comunication Device Class driver (CDC) INF FILE
; (C)2009 Copyright STMicroelectronics
;------------------------------------------------------------------------------

[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MANUFACTURER%
LayoutFile=layout.inf
;CatalogFile=%FILENAME%.cat

DriverVer= 9/20/2009,1.2.0

[Manufacturer]
%MANUFACTURER%=DeviceList,NTamd64

[DestinationDirs]
DefaultDestDir=12


;------------------------------------------------------------------------------
;              Windows 2000/XP/Vista32 Support
;------------------------------------------------------------------------------
[DriverInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt
AddReg=DriverInstall.nt.AddReg

[DriverCopyFiles.nt]
usbser.sys,,,0x20

[DriverInstall.nt.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.nt.Services]
AddService=usbser, 0x00000002, DriverService.nt

[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys

;------------------------------------------------------------------------------
;              Windows Vista64 Support
;------------------------------------------------------------------------------

[DriverInstall.NTamd64]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.NTamd64
AddReg=DriverInstall.NTamd64.AddReg

[DriverCopyFiles.NTamd64]
%DRIVERFILENAME%.sys,,,0x20

[DriverInstall.NTamd64.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.NTamd64.Services]
AddService=usbser, 0x00000002, DriverService.NTamd64

[DriverService.NTamd64]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys


;------------------------------------------------------------------------------
;            VID/PID Settings
;------------------------------------------------------------------------------
[SourceDisksFiles]
[SourceDisksNames]
[DeviceList]
%DESCRIPTION%=DriverInstall,USB\VID_10c4&PID_ea60

[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall,USB\VID_10c4&PID_ea60


;------------------------------------------------------------------------------
;              String Definitions
;------------------------------------------------------------------------------
[Strings]

FILENAME="ST_Virtual"
DRIVERFILENAME ="usbser"
MANUFACTURER="STMicroelectronics"
INSTDISK="CDC_DISK"
DESCRIPTION="STM Virtual COM Port"
SERVICE="Virtual Com Driver"
虚拟串口.png
 楼主| xfcjava2 发表于 2011-5-12 18:46 | 显示全部楼层
再上传一个成功安装的截图:
虚拟串口_截图2.png
 楼主| xfcjava2 发表于 2011-5-12 18:52 | 显示全部楼层
stm32 虚拟串口 window7下驱动:

虚拟串口驱动_win7.rar

1.01 KB, 下载次数: 2914

 楼主| xfcjava2 发表于 2011-5-12 19:01 | 显示全部楼层
修改VID,PID文件的名称及位置:

  文件名称:usb_desc.c

  位置:  就是下边的  idVendor 和 idProduct


     /* USB Standard Device Descriptor */
const uint8_t Virtual_Com_Port_DeviceDescriptor[] =
  {
    0x12,   /* bLength */
    USB_DEVICE_DESCRIPTOR_TYPE,     /* bDescriptorType */
    0x00,
    0x02,   /* bcdUSB = 2.00 */
    0x02,   /* bDeviceClass: CDC */
    0x00,   /* bDeviceSubClass */
    0x00,   /* bDeviceProtocol */
    0x40,   /* bMaxPacketSize0 */
      
    0xc4,         /* idVendor = 0x10c4 */
    0x10,     

    0x60,           /* idProduct = 0xea60 */
    0xea,

    0x00,
    0x02,   /* bcdDevice = 2.00 */
    1,      /* Index of string descriptor describing manufacturer */
    2,      /* Index of string descriptor describing product */
    3,     /* Index of string descriptor describing the device's serial number */
    0x01    /* bNumConfigurations */
  };
gavin_li 发表于 2011-6-16 16:07 | 显示全部楼层
能正常通信吗?
xsgy123 发表于 2011-6-16 19:28 | 显示全部楼层
win7可以用,很好很强大
pkat 发表于 2011-6-17 10:18 | 显示全部楼层
先试试看
yinyangdianzi 发表于 2011-6-17 11:03 | 显示全部楼层
trihook 发表于 2011-6-17 11:35 | 显示全部楼层
我没装驱动,系统自己认出来的直接能用
yybj 发表于 2011-6-18 09:26 | 显示全部楼层
现在很多都是用win7,这个应该很有用
无冕之王 发表于 2011-6-18 21:38 | 显示全部楼层
以后的趋势应该是不装驱动也能用
gxgclg 发表于 2011-6-19 14:55 | 显示全部楼层
以前碰到过这样的问题,楼主的驱动还是挺有用的
wowewo 发表于 2011-6-20 16:31 | 显示全部楼层
是呀 这个驱动 很有用
heyuanpi 发表于 2011-10-18 21:14 | 显示全部楼层
楼主 是不是官方的那个驱动啊
nongfuxu 发表于 2012-5-9 11:59 | 显示全部楼层
为以后用到时先占位标记.
香如故 发表于 2012-11-25 13:48 | 显示全部楼层
还是不行啊,我的错误代码是18,怎么也不行[local]1[/local]
香如故 发表于 2012-11-25 13:51 | 显示全部楼层
还是不行啊,我的错误代码是18,怎么试也不行 usb.JPG
hsbjb 发表于 2012-11-25 14:30 | 显示全部楼层
现在有没有用win8的
txcy 发表于 2012-11-25 14:45 | 显示全部楼层
试过了,可以用
pegasusone 发表于 2013-11-1 15:01 | 显示全部楼层
ok可以的 我成功安装了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

470

帖子

43

粉丝
快速回复 在线客服 返回列表 返回顶部