杰理智能蓝牙音响开发板AC696N:文件系统操作API精讲
引言
做杰理蓝牙音频系列芯片开发 ,播放U盘或SD卡里的MP3文件是最常见的需求。背后离不开文件系统操作:扫描歌曲、打开文件、读取数据、切换曲目......JL杰理AC696N开发板 的SDK封装了一套标准的文件系统API,用起来跟C标准库的fopen、fread很像,上手不难。本文以杰理AC6966B开发板 为例,把常用的文件操作API和注意事项整理一下,方便写代码时查阅。
杰理智能蓝牙音响开发板AC696N:文件系统操作API精讲
在存储设备上管理文件是音频播放器的核心功能。JL杰理AC696N SDK提供了一套完整的文件系统操作API。
一、文件扫描与命名
- 扫描 :
dev_manager_scan_disk()可递归扫描,支持跳过隐藏文件。 - 命名 :
- 短文件名:标准8.3格式,使用
u8字符串。 - 长文件名:Unicode编码,需要使用工具转换。
- 短文件名:标准8.3格式,使用
二、文件打开、读写与定位
// 打开文件 (模式:r, w, a, r+, w+, a+)
FIL *fp = fopen("0:/music/test.mp3", "r");
// 读取数据
fread(buffer, 1, size_to_read, fp);
// 写入数据 (对齐到512字节最快)
fwrite(buffer, 1, size_to_write, fp);
// 移动文件指针
fseek(fp, offset, seek_mode);
// 关闭文件
fclose(fp);
注意 :以写入模式("w"或"a")打开文件后,如果进行了写操作,在fclose之前最好执行一次fseek(fp, 0, SEEK_END),确保数据完整写入。
三、高级功能
- 重命名 :
frename("old.name", "new.name") - 获取文件名 :
fget_name(fp, name_buf, 1)(参数1表示获取长文件名) - 断点续扫:利用上次扫描的断点信息,加速第二次扫描
- 创建文件夹 :
fmk_dir("0:/my_folder")
总结
掌握上述API,就能在JL杰理AC696N开发板 上实现歌曲扫描、播放控制、录音存储等常见功能。开发时注意:写文件后要确保数据完整落盘(可调用fseek触发);长文件名需要处理Unicode转换;文件路径使用0:/表示SD/TF卡或U盘根目录(具体取决于存储设备编号)。这些API虽然简单,但用好它们能让杰理蓝牙音频系列芯片开发事半功倍。
