现在的位置: 首页 > 综合 > 正文

WINCE 开机自动弹USB连接窗口问题(已解决)

2013年10月12日 ⁄ 综合 ⁄ 共 780字 ⁄ 字号 评论关闭

平台:S3C6410+WinCE6.0
问题现像:
当启用UART0也就是COM1时,无论插没插USB线,一开机,它都会弹出个USB连接的窗口,
原因分析:
是因为在三星原版本BSP里的串口驱动上制定了UART0为modem(unimodem),没有人打开串口但串口有数据时,会引发modem事件,导致系统以为有人在连接,所以尝试连接主机,我在注册表中尝试过把unimodem弄掉但还是没有解决。
在SMDK6410.BAT把UART0关闭,打开UART3,就没有出现这个问题。所以打算在注册表里把UART0的键放到UART3来做试试,试了,还是不行,只要是打开UART0,也就是
"DeviceArrayIndex"=dword:0 ;
都会出现开机无论插没插USB线都弹出连接窗口的问题。
离真相越来越近了,只要找出在串口驱动里针对UART0与UART1等口有什么区别就行了。
        在串口驱动中,发现初始UART0用的是类CPdd6410Serial0,它确实与其他口的类不一样。加了个modem的功能在里面。这就好办了,只要把modem功能去就,让它变成一个普通串口就行了。请看下面的解决办法
解决方法:

目录        /SMDK6410/SRC/DRIVERS/SERIAL 
ser_smdk6410.cpp 文件
CPdd6410Serial0 类中把InitModem 函数修改如下

  1. virtual BOOL    InitModem(BOOL bInit)  
  2.   
  3. {  
  4.   
  5.    // SetDTR(bInit);  
  6.   
  7.    // return CPdd6410Uart::InitModem(bInit);  
  8.   
  9.     return TRUE;  

也就是把modem的功能去掉,这样就不会开机弹出连接窗口了。

转载请注明出处

抱歉!评论已关闭.