我用以下程序来把波特率为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;
查看: 3533
回复: 6
CH375写U盘问题求助
热门产品 :
CH32L103: 32位PDUSB低功耗单片机
(1)字节方式写本身就很慢,而单个字节写就更慢,可以开两个大点的缓冲区,一个用于从串口接收数据,另一个满了以后一次性写入U盘,这样速度会快一点。 (2)如果还是慢,那么可以缓冲区设为1个扇区大小,采用扇区方式写
串口的速度只能达到4KB多点,速度慢是必然的.除了一楼的方法外,另外你可以用CH374的SPI方式,占用引脚也少,速度会快.
谢谢!那么缓冲区多大比较好哪?
按扇区写比较快,你设置的缓冲区要为512的倍数.串口本身比较慢,既然选择串口也只能接受这个速度了.呵呵 现在你测试的速度能达到多少?
如1楼说的缓冲区大小为1个扇区大小,一般来说是512字节.
非常感谢!我再试试
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录