|  | 
 
| 用以下两种方式,分别向3个文件写入80M字节。方式1:循环向3个文件写8k字节数据,直到写满80M字节。 i = 10240;
 while (i--) {
 res = f_write(&pfile, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 res = f_write(&pfile2, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 res = f_write(&pfile3, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 }
 方式2:每次写8k字节,写完80M字节到1个文件,再写另一个文件。
 i = 10240;
 while (i--) {
 res = f_write(&pfile, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 }
 i = 10240;
 while (i--) {
 res = f_write(&pfile2, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 }
 i = 10240;
 while (i--) {
 res = f_write(&pfile3, &buf_temp, 8192, &fwrite_cnt);
 if (FR_OK != res)  break;
 }
 
 
 
 方式1耗时约4分55秒,即295秒,方式2耗时约60秒。耗时比例约为5:1。
 
 我所做项目是多通道录音设备,当前采用的是方式1写各个通道的数据到不同文件,由于写入速度限制,无法达到要求的最高采样率。
 请问怎么才能解决这个矛盾?
 
 | 
 |