CH375写U盘问题求助

我用以下程序来把波特率为38400的串口数据,以字节的方式写进U盘。感觉写的速度跟不上,谁有好办法帮我解决这个问题呀? for ( c = 0; c < 256; c ++ ) { u=char_recc( ); /*串口来的字符*/ mCmdParam.ByteWrite.mByteBuffer[0] = u; mCmdParam.ByteWrite.mByteCount = 1; /* 写入数据的字符数*/ i = CH375ByteWrite( ); /* 向文件写入数据 */ } mCmdParam.Close.mUpdateLen = 1;

(1)字节方式写本身就很慢,而单个字节写就更慢,可以开两个大点的缓冲区,一个用于从串口接收数据,另一个满了以后一次性写入U盘,这样速度会快一点。 (2)如果还是慢,那么可以缓冲区设为1个扇区大小,采用扇区方式写


串口的速度只能达到4KB多点,速度慢是必然的.除了一楼的方法外,另外你可以用CH374的SPI方式,占用引脚也少,速度会快.


谢谢!那么缓冲区多大比较好哪?


按扇区写比较快,你设置的缓冲区要为512的倍数.串口本身比较慢,既然选择串口也只能接受这个速度了.呵呵 现在你测试的速度能达到多少?


如1楼说的缓冲区大小为1个扇区大小,一般来说是512字节.


非常感谢!我再试试


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