我用CH375写U盘,速度慢得让我受不了,斑主来看看!

测试环境是: 1、单片机是STC89C58RD+,外部有1K的RAM,内有256个RAM,双DPTR。 2、OSC是22.1184M 3、双DPTR复制,查询方式,程序如下: #define LIB_CFG_DISK_IO 2 #define LIB_CFG_FILE_IO 2 #define LIB_CFG_INT_EN 0 4、读写是字节模式

测试结果: 往U盘里写一个768K字节的文件,数据是一个UINT8类型,然后一直累加产生, 写入的文件的数据都是对的,但要10分钟才写完。 天呀,这是什么速度呀,才1.3K/S,这跟WCH的文档上写差得很远呀, 要是这个速度的话,一点实用价值都没有。

请WCH的工程师解释一下,怎么提高写文件速度,我想要150K/S以上的写文件速度。

用的是WCH的CH375 U盘读写子程序库CH375HF4.LIB


外部有1K的RAM,那你用扇区读写,速度会有很大提高,读写速度另外跟你的U盘格式化的文件系统类型,和格式化的簇的大小有关


每次往U盘写1个扇区的字节,如果是写1M的数据需要15秒,速度也不是很快,如果一次写8个扇区字节,速度能达到3秒,这也和你的U盘有关,

要想提高速度很难啊? 我也是急的想不出解决的办法?

还请高手解决?


想速度再快点就加大缓冲区,或者提高单片机的主频.


读写速度另外跟你的U盘格式化的文件系统类型,和格式化的簇的大小有关 格式化成什么样文件系统类型和多大的簇,读写速度最快呢?


我记得说明书上是说最少写一个扇区,对于一个512字节的扇区,每次写64字节,产生9次中断,最后一次中断是返回的状态,我用的12M晶振,写个512字节的文件要用30多秒左右,程序中除了基本的时序,没有其他延时,求达人帮忙啊,或者有其他的写U盘的方法? 还有忘了一点,我也是刚学着用ch375写u盘,扇区写法,不也是要一个字节一个字节的写么?我上面说的是扇区写法么?比如我要写一个64K文件,就是每次写64字节然后产生一个中断,循环1024次,对么?


没那么慢,我用STC89C516RD+,18.732MHz晶振,用网站程序,写1.5MB的文件只需要7秒左右........


好羡慕啊,并口和串口方式写入速度不一样是么?


由于大多数U盘采用的闪存是以16KB为一个块进行擦除的,所以在物理扇区号是16的倍数的位置向U盘写入16KB数据是最快的,如果跨块写U盘会稍慢些,如果是写不满一个块那么U盘还要先备份块中其它部分而导致速度下降,如果是一次写入几十个字节的数据,那么不仅U盘备份,连子程序库也要备份一个扇区 中的其它部分(U盘读写以512为最小基本单位),此时速度是最慢的。


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