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!把这个改动就可以了。嘿嘿。
  • 相关阅读:
    three.js_ "Failed to execute 'texImage2D' on 'WebGLRenderingContext': tainted canvases may not be loded."
    three.js为何如此奇妙
    npm install ERR! code E400/E404
    小程序_请求封装network
    css_input[checked]复选框去掉默认样式并添加新样式
    【CSS】凹槽的写法
    剑指Offer_编程题_6
    剑指Offer_编程题_5
    剑指Offer_编程题_4
    剑指Offer_编程题_3
  • 原文地址:https://www.cnblogs.com/gooogleman/p/1869623.html
Copyright © 2011-2022 走看看