wince 下USB 虚拟多个串口问题

时间:2021-11-10 03:59:10

在CE6下 从USB 虚拟出3个串口跟modem 通讯(CE系统是主设备)我把 D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER 移植到BSP 驱动目录编译成usbser.dll , 注册表如下:

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1118_121\Default\Default\USBSER_CLASS]
   "Prefix"="COM"
   "Dll"="USBSer.DLL"

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\USBSER_CLASS]
   "Prefix"="COM"
   "Dll"="USBSer.DLL"
   "DeviceArrayIndex"=dword:1

   “index”=dword:8
   "RxBufferSize"=dword:4000
   "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"

PID VID 对应MODEM 的PID VID 插上设备可以识别COM8 也可以收发数据,我现在还要虚拟2个串口,需要修改驱动代码吗,或者就修改注册表就可以了?

===========================================================================

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1118_121\Default\Default\USBSER_CLASS]

指定到interface,interfacecode,看看

====================================================================

不用修改代码,添加注册表就可以了。

LoadClients\1118_121\Default\Default增加几个子键就可以了。

如:

LoadClients\1118_121\Default\Default\USBSER_1

LoadClients\1118_121\Default\Default\USBSER_2

LoadClients\1118_121\Default\Default\USBSER_3

这样,驱动就会根据设备有多少个interface,每个interface都会枚举

LoadClients\1118_121\Default\Default\下的所有子键并加载其驱动,

可以参考下华为3G 模块驱动的注册表,里面就虚拟出3个串口。