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

时间:2022-10-03 14:28:27

平台: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的功能去掉,这样就不会开机弹出连接窗口了。



转载请注明出处