[求助]读写扇区指定位置的数据

如果不用ch375读写U盘的子程序库。。。有没有什么办法可以指定扇区的指定数据包或者指定位置的数据。。而不需要把一个扇区的所有数据全部读出,或者只能从一个扇区的最开始写入数据?还有我想知道你们是如何对根目录进行遍历的。。一个一个的查找速度太慢了。。 我想不用你们的子程序库。自己通过ch375的指令对U盘实现读写操作。。。还有文件的建立和存储

版主能不能给出个主意啊。。小弟一直在线等着呢。。。


(1)U盘的底层必须是扇区操作,无论读写都必须是一个扇区大小 (2)我们对文件的查找通常也是一个一个查找,不过我们还有一个EXAM13,采用枚举回调,速度比较快 (3)不用我们的库,U盘兼容性很难保证,文件系统都必须自己实现,我们仅能提供扇区接口例程,下载CH375EVT.ZIP,\CH375EVT\PUB\MCS51C\MISCELL


也就是说要写数据进入扇区而又不改变原来扇区的数据,,就必须先把该扇区中的数据读取出来。。然后找到没有数据的区域。。写如ram。。然后再写如U盘了。。。这样觉得好麻烦啊。。。而且读取文件时簇的寻找也很麻烦啊。。。每次都要把FAt的一个扇区都读取出来了才能够确定下一个簇所在的位置啊。。。 那不是疯了。。。


(1)如果是修改扇区中的部分数据,那么是必须先读取,再找到需要修改的位置,填入新的数据,重新写回U盘;空闲扇区是通过空闲簇来查找的 (2)FAT文件系统就是这么规定的,如果嫌烦,就用我们的库,兼容性和读写效率都很好。


只有登录才能回复,可以选择微信账号登录