主题:EM9260接U盘的问题?

  共有19293人关注过本帖    
Rite2009
1楼


EM9260接U盘的问题?  发帖心情 Post By:2012-6-20 8:16:00   [只看该作者]

我用EM9260接U盘,分别接了2G和4G的。结果出现一个问题:系统重启(不断电)后找不到U盘,重启几次都是一样,但是如果断电重启后又能找到U盘。可能是什么原因?

  单帖管理 | 引用 | 回复 回到顶部
x10
2楼


  发帖心情 Post By:2012-6-20 9:08:00   [只看该作者]

是吗?马上测试一下呢?

  单帖管理 | 引用 | 回复 回到顶部
Rite2009
3楼


  发帖心情 Post By:2012-6-20 9:10:00   [只看该作者]

我又测试了一下,软重启有时候可以找到,有时候找不到。这个比较麻烦呢,呵呵

  单帖管理 | 引用 | 回复 回到顶部
cx
4楼


  发帖心情 Post By:2012-6-20 9:26:00   [只看该作者]

您好!我们进行了一系列测试,并未出现您所说的那种情况。您是怎样测试出来的呢?

  单帖管理 | 引用 | 回复 回到顶部
Rite2009
5楼


  发帖心情 Post By:2012-6-20 13:30:00   [只看该作者]

我的应用程序里是调用下面的函数,让系统重新启动的。

系统每天自动调用该程序启动一次。连续工作了半个月,其中有几次看不到U盘,我就再次重启,仍旧看不到U盘,然后我就断电重启,就有U盘了,再重复的软重启,就有时候能看到,有时候看不到。

void funSysRestart()
{
DWORD dwType;
dwType = COLD_BOOT;
SetCleanRebootFlag();
KernelIoControl(IOCTL_HAL_REBOOT, (LPVOID)&dwType, sizeof(DWORD), NULL, 0, NULL);
}

  单帖管理 | 引用 | 回复 回到顶部
cx
6楼


  发帖心情 Post By:2012-6-20 13:44:00   [只看该作者]

系统启动后,你最好延时一下,再检测U盘,如果你的U盘容量较大或文件交多,就延时多一些。再试试

  单帖管理 | 引用 | 回复 回到顶部
Rite2009
7楼


  发帖心情 Post By:2012-6-20 15:00:00   [只看该作者]

这个检测U盘不是CE系统自动检测的么?跟我的应用程序延不延时没多大关系吧,我也没有马上就检测U盘的,而是系统启动后通过ftp去查看USBDisk文件夹的。所以我觉得跟应用程序没多大关系呢。

  单帖管理 | 引用 | 回复 回到顶部
zxw
8楼


  发帖心情 Post By:2012-6-20 16:25:00   [只看该作者]

系统加载U盘的优先级是比较低的,只有系统完全启动完以后,才会去检测。当系统启动完后,如你的应用程序已存在,则有可能在应用程序运行时,U盘还没有被系统完全加载成功,所以应用程序做一点延时后,系统则可以把U盘挂接上,这时再去操作U盘,才会成功。

  单帖管理 | 引用 | 回复 回到顶部
Rite2009
9楼


  发帖心情 Post By:2012-6-21 7:57:00   [只看该作者]

那要如何做到应用程序延时?在应用程序中加一个判断来判断U盘是否加载?用Sleep放权?

  单帖管理 | 引用 | 回复 回到顶部
zxw
10楼


  发帖心情 Post By:2012-6-21 9:12:00   [只看该作者]

你可以用如下的方法试试:
1、Sleep(2000)
2、在U盘处属的路径下建一个文件
3、检查建立文件返回值,如成功,向下运行程序,否则到1继续

  单帖管理 | 引用 | 回复 回到顶部

返回首页

EM9260接U盘的问题?

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: