[USB编程] 电脑在U盘中是如何创建文件的

[复制链接]
2732|18
 楼主| joyo00321949 发表于 2013-9-9 13:04 | 显示全部楼层 |阅读模式
大家好,请教大家个问题,我自己做了个U盘,读取没有问题,但是电脑在里面创建或复制文件时,我不知道如何处理,不知道电脑会发送什么命令和内容。
请问怎么处理?有没有相关的资料参考下?
谢谢
 楼主| joyo00321949 发表于 2013-9-9 13:07 | 显示全部楼层
补充下:电脑在U盘上创建文件时发送内容的格式是什么?例如:哪些字节代表文件名,哪些问内容等
aozima 发表于 2013-9-9 13:46 | 显示全部楼层
电脑只会发read/write命令,文件系统是由软件处理的,也可以不用文件系统。
U盘可以格式化为fat/ex-fat/ntfs/ext-*各种文件系统。
 楼主| joyo00321949 发表于 2013-9-9 13:55 | 显示全部楼层
谢谢aozima的回答。
但是我还是不明白,举个例子,电脑在U盘上创建一个123.txt,我单片机那边如何知道电脑创建的是这个名字呢?电脑发来write指令,我如何知道write中的数据的具体含义。
soso 发表于 2013-9-9 17:21 | 显示全部楼层
你自己造U盘  多少钱一个?多少G的
 楼主| joyo00321949 发表于 2013-9-9 17:29 | 显示全部楼层
2M的,不是用来卖钱的,是工作需要。
amwrdfe 发表于 2013-9-9 19:53 | 显示全部楼层
协议没认真看吧.
zzfei90 发表于 2013-9-10 09:09 | 显示全部楼层
没明白你到底想干什么?是想把电脑上的东西传到U盘上?那直接插电脑上不就行了?
还是想电脑和单片机通信,把电脑上的文件发到单片机,再写进U盘?那你直接写个上位机软件,把文件通过USB传给单片机(DEVICE),再由单片机(HOST)控制写入U盘不就行了?
飞鹰嵌入式 发表于 2013-9-10 10:37 | 显示全部楼层
看你U盘是什么格式的,FAT32orFAT16orFAT12,然后你看文件系统协议就可以了,一般这样的文件系统是文件名索引加偏移地址的,

评分

参与人数 1威望 +1 收起 理由
joyo00321949 + 1 很给力!

查看全部评分

 楼主| joyo00321949 发表于 2013-9-10 11:44 | 显示全部楼层
应该是飞鹰嵌入式说的这样,我先仔细看下协议。谢谢大家。
通宵敲代码 发表于 2013-9-10 13:30 | 显示全部楼层
joyo00321949 发表于 2013-9-10 11:44
应该是飞鹰嵌入式说的这样,我先仔细看下协议。谢谢大家。

听你的问题应该是你自己用单片机开发的U盘吧,好好看看通信协议吧,电脑对U盘的操作都是按协议来的。
stupidboy456 发表于 2013-9-10 13:36 | 显示全部楼层
好厉害,,啊自制U盘
 楼主| joyo00321949 发表于 2013-9-12 12:52 | 显示全部楼层
电脑对U盘的操作都是按什么协议来的?
 楼主| joyo00321949 发表于 2013-9-14 08:17 | 显示全部楼层
电脑对U盘的操作都是按什么协议来的?
john_lee 发表于 2013-9-16 00:40 | 显示全部楼层
常用协议:
subclass: UFI, SCSI
protocol: BBB(BOT), UAS
自己按上面的关键字去 google。
armlinux99 发表于 2013-10-31 10:07 | 显示全部楼层
在网上下一个DEMO看一下
songhowl 发表于 2013-11-20 10:23 | 显示全部楼层
aozima 发表于 2013-9-9 13:46:36 |只看该作者 回复 |返回版面
电脑只会发read/write命令,文件系统是由软件处理的,也可以不用文件系统。
U盘可以格式化为fat/ex-fat/ntfs/ext-*各种文件系统。

上面兄弟说的对
我是这样认为的:
U盘本身不知道文件。U盘只知道所操作的partition.U盘的驱动是不知道你写的是哪个文件。它只知道block.它只操作block。而建立在blocks 上的文件系统它不关心。上位机会用文件系统的驱动在磁盘上mount出来一个文件系统。在写一个文件的时候。其实是对上位机的文件系统驱动进行操作。而这个驱动最终会转换成block的操作然后通过SCSI的命令传给U盘。
li880wert 发表于 2013-11-25 13:50 | 显示全部楼层
说白了U盘就是FLASH,再简单点就是 RAM,具体什么 文件,是文件系统的协议,就比如常用的FATFS。

因为 WINDOW 识别U盘读写文件用的 是FAT32, 你单片机程序 也用这相关的文件系统,比如FATFS32 或FAT 都是能识别到文件的
 楼主| joyo00321949 发表于 2014-1-23 12:17 | 显示全部楼层
举个例子:计算机在U盘上创建个文件,U盘的文件系统直接将数据写到相应的地址就可以了,但是我想去解析计算机发来的是什么命令,创建的文件名是什么等等,请问这些从哪里可以看到。应该是一些具体的协议。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

12

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部