在mbed中打开的wav文件数量是否有限制

Is there a limitation on number of wav files opened in mbed?

本文关键字:文件 是否 有限制 wav mbed      更新时间:2023-10-16

我有一个应用程序,我想在 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 mywav1nr");
        }

我只能打开 11 个文件,其他 9 个将返回 NULL。

我已经检查过了,据我所知,这与命名约定无关 - 这完全与可以在单独的文件流中物理打开的文件数量有关。

mbed sd文件系统库中,一次可以在文件流中打开多少个文件是否有一些限制?

通读 FATFileSystem 库的代码,没有限制,除非内存不足。情况可能就是这样。

请注意,Mbed OS 5 具有对挂载 SD 卡和 FAT 文件系统的本机支持,因此您可能应该在 SDFileSystem 库上使用它。后者已经两年没有更新了,而新图书馆则定期更新。