sd卡上临时放了一个文件,文件名包含中文,结果用Arduino遍历文件名的时候总是出错,不能完整的列出所有文件,又从SD.h折腾到sdfat.h,还是不行,最终发现卡上不知什么时候放了这么个文件,改名后终于运行正常。这真的是一个大坑,我可以接受乱码,可以接受文件名变短,但是你不能遇到这个文件就终止,导致后面的文件都无法遍历啊!!!
核心代码如下:
int i=0;
while (1) {
File logFile = root.openNextFile();
if (!logFile) {
break;
}
//这里把logFile.name()存入文件列表数组
logFiles[i] = logFile.name();
i++;
}