//-------------------------------------------------------------------------------------------------
// 作者:wogoyixikexie@gliet
//论坛账号:gooogleman (经常在CSDN出没)
// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet
// 平台:wince5.0 2440 5.0 BSP
// 发布日期:2009年8月15日 15:07:01
// 最后修改:
// 注意事项:未经作者同意,不得在转载的时候擅自修改、删除文章的任何部分
//-------------------------------------------------------------------------------------------------
是这样的,我把外部串口B加载后,会造成ActiveSync软件无法连接,PC右下角会提示“无法识别设备”
我把该串口的注册表去掉,马上又可以连接了,这个确实是这个串口引起的。
我找不出原因,外部串口A的注册表却不会影响ActiveSync软件。
外部串口B注册表
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UART4]
"DeviceArrayIndex"=dword:4
"Irq"=dword:27
"IoBase"=dword:28000000
"IoLen"=dword:8
"Prefix"="COM"
"Dll"="SER2440.Dll"
"Order"=dword:0
"Index"=dword:5
"Priority"=dword:0
"Port"="COM5:"
"RegStride"=dword:1
"DeviceType"=dword:0
"FriendlyName"="Serial Cable on COM5:"
"Tsp"="Unimodem.dll"
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
————————————————据以前的了解,这个ActiveSync相关的serialusbfn.dll和串口公用MDD。
它的注册表是
C:\WINCE500\PUBLIC\COMMON\OAK\FILES\common.reg(2474):
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
"Dll"="serialusbfn.dll"
"InterfaceSubClass"=dword:ff
"InterfaceProtocol"=dword:ff
"DeviceName"="USBFNS1:"
"Tsp"="Unimodem.dll"
"Prefix"="COM"
"DeviceArrayIndex"=dword:0
"DeviceType"=dword:0
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
; idVendor must be changed. 045E belongs to Microsoft and is only to be used for
; prototype devices in your labs. Visit http://www.usb.org to obtain a vendor id.
"idVendor"=dword:045E
"Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
"idProduct"=dword:00ce
"Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)"
"bcdDevice"=dword:0
这两个注册表没有什么冲突啊。请问这是怎么回事呢?
果然是这个"Index"=dword:5的问题。有时候这个世界很奇妙。
以前那个BSP用"Index"=dword:5没有事情,现在就有问题了,哈哈,无奈。
还好能用了。
这个明显是串口索引号和同步软件虚拟串口索引号冲突导致的。现在终于找到了
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
"FriendlyName"=LOC_USBFN_SERIAL_NAME
"idVendor"=dword:0547
"Manufacturer"=LOC_USBFN_SERIAL_MANUFACTURER
"idProduct"=dword:2720
"Product"=LOC_USBFN_SERIAL_PRODUCT
"Index"=dword:5——It's here!把这个改动就可以了。嘿嘿。