打印
[USB接口]

如何让windows自动重新加载U盘?

[复制链接]
2835|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
采用U盘来传输数据,windows把数据写入U盘,U盘读取数据后把FAT表、目录表都清空。可是windows似乎缓存了U盘的FAT表、目录表等。虽然U盘已经把文件清空了,但是windows还是认为有文件。如果用winhex打开的话,U盘是没有数据的。我该如何让windows读到正确U盘情况呢?

相关帖子

沙发
yfei_tech|  楼主 | 2015-9-11 14:47 | 只看该作者
是否可以发一个命令让windows重新加载U盘的?

使用特权

评论回复
板凳
wellhao2004| | 2015-9-11 15:56 | 只看该作者

使用特权

评论回复
地板
xiuwen89| | 2015-9-11 21:44 | 只看该作者
U盘收到Test Unit Ready命令时返回Failed,然后在后续的Test Unit Ready返回Passed就行了

使用特权

评论回复
5
yfei_tech|  楼主 | 2015-9-12 14:53 | 只看该作者
xiuwen89 发表于 2015-9-11 21:44
U盘收到Test Unit Ready命令时返回Failed,然后在后续的Test Unit Ready返回Passed就行了 ...

没用,test unit ready只是在第一次连接时候发,连接后无论怎么样都不会发这个命令。

使用特权

评论回复
6
xiuwen89| | 2015-9-12 21:05 | 只看该作者
yfei_tech 发表于 2015-9-12 14:53
没用,test unit ready只是在第一次连接时候发,连接后无论怎么样都不会发这个命令。 ...

媒体类型要设置成可移动的,主机会定时发送Test Unit Ready命令的。。。Windows是一秒查询一次

使用特权

评论回复
7
xiuwen89| | 2015-9-12 21:12 | 只看该作者


这是抓包截图。抓的是ST-LINK的USB通信,往ST-LINK的MSC中写入文件后,ST-LINK模拟磁盘被拔出后重新插入。Windows会重新装载磁盘。
Test Unit Ready返回Failed就是模拟磁盘被拔出了。

使用特权

评论回复
8
yfei_tech|  楼主 | 2015-9-13 18:25 | 只看该作者
xiuwen89 发表于 2015-9-12 21:12
这是抓包截图。抓的是ST-LINK的USB通信,往ST-LINK的MSC中写入文件后,ST-LINK模拟磁盘被拔出后重新插入 ...

那是你的U盘,我的确实什么命令都没下来。

使用特权

评论回复
9
yfei_tech|  楼主 | 2015-9-13 18:26 | 只看该作者
xiuwen89 发表于 2015-9-12 21:12
这是抓包截图。抓的是ST-LINK的USB通信,往ST-LINK的MSC中写入文件后,ST-LINK模拟磁盘被拔出后重新插入 ...

你的关键在这句话:“ST-LINK模拟磁盘被拔出后重新插入”。
我的项目不允许这样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

131

帖子

2

粉丝