我有一个应用程序,我想在ARM MBED LPC1768上最多打开27个不同的.wav文件,以便最终在编解码器板上输出。目前,我已经能够在mbed上打开和播放文件(文件存储在micro-sd卡上)。但是,我一次打开11个以上文件时遇到问题。
我用来打开任何给定文件的呼叫如下:
FILE* mywav1 = fopen("/sd/mydir/SoundDecoder_second/01.wav","rb");
我已经执行了一些测试,如果尝试以这种方式打开20个文件,我将使用以下命令进行测试:
if(mywav1 == NULL){
printf("Cannot Open mywav1\n\r");
}
我只能打开11个文件,其他9个将返回NULL。
我已经检查过了,据我所知,这与命名约定没有关系-完全取决于可以在单独的文件流中打开的文件数量。
在mbed sdfilesystem库中一次文件流中一次可以打开多少个文件是否有限制?
答案 0 :(得分:0)
通读FATFileSystem库的代码,没有限制,除非内存不足。可能是这样。
请注意,Mbed OS 5具有native support用于挂载SD卡和FAT文件系统,因此您可能应该在SDFileSystem库上使用它。后者在两年内没有更新,而新图书馆会定期更新。