zoukankan      html  css  js  c++  java
  • 外部串口B加载后,会造成ActiveSync软件无法连接的解决办法

    外部串口B加载后,会造成ActiveSync软件无法连接的解决办法

      

    //-------------------------------------------------------------------------------------------------

    // 作者: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

    这两个注册表没有什么冲突啊。请问这是怎么回事呢?

    引用 1 楼 chenyqzyf 的回复:
    试着"Index"=dword:5  改成其他值比如8。

    估计usb是虚拟成串口,而你的B 恰好占用了usb_ser的串口号5。



    果然是这个"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!把这个改动就可以了。嘿嘿。
  • 相关阅读:
    HDU 2899 Strange fuction
    HDU 2899 Strange fuction
    HDU 2199 Can you solve this equation?
    HDU 2199 Can you solve this equation?
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 699 掉落的方块(线段树?)
    Java实现 LeetCode 699 掉落的方块(线段树?)
    Java实现 LeetCode 699 掉落的方块(线段树?)
  • 原文地址:https://www.cnblogs.com/gooogleman/p/1869623.html
Copyright © 2011-2022 走看看