我有一个应用程序,我想要在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库中,一个文件流中一次可以打开多少个文件有一定的限制吗?
发布于 2019-04-24 13:49:33
通过读取FATFileSystem库的代码,没有限制,除非您耗尽内存。情况可能就是这样。
请注意,Mbed OS5具有用于挂载SD卡和FAT文件系统的native support,因此您可能应该在SDFileSystem库中使用它。后者已经两年没有更新了,而新的库则会定期更新。
https://stackoverflow.com/questions/55798201
复制相似问题