背景:在之前工作为故事机添加vad的功能的时候,在抓取音频处理的时候都需要用到fatfs的api接口。
在抓取音频的时候需要将从结构上录取到的音频写入到sd卡中,相关的代码片段如下:
1.挂载
res = f_mount(&fatfs, _T(“0:”), 1);
if(!res)
{
printf(“fmount is ok\r\n”);
}
2.打开并创建文件
FIL fsrc;
f_open(&fsrc, “SD:/record.pcm”, FA_CREATE_ALWAYS | FA_WRITE);
3.写文件操作
f_write(&fsrc, buf, len, &wlen);//len: numbers of write byte to write. wlen: number of write bytes
4.关闭文件
f_close(&fsrc);
在调试vad的功能时候需要从sd卡中读取录取好的音频。
1.挂载
res = f_mount(&fatfs, _T(“0:”), 1);
if(!res)
{
printf(“fmount is ok\r\n”);
}
2.打开并创建文件
FIL fwav;
f_open(&fwav, “SD:/record.pcm”, FA_READ);
3.读文件
f_read(&fwav, buffer, sizeof(buffer), &rlen);
4.关闭文件
f_close(fwav);
static FRESULT res = 0;
static FATFS fatfs;
res = f_mount(&fatfs, _T(“0:”), 1);
if(!res)
{
printf(“fmount ok”);
}
char data[320];
int bytes = 0;
FRESULT frses;
FIL fp;
f_open(&fp, fn, FA_READ|FA_WRITE);
f_lseek(&fp,44);
f_read(&fp, data, 320, &bytes);
f_close(&fp);