f_open函数:
static FIL file;
f_open(&file,"0:/message.txt", FA_READ|FA_WRITE|FA_OPEN_ALWAYS);
f_open不能打开文件名字过长的函数,参考链接:(49条消息) 文件系统打开、创建文件失败,无效文件名?-编程语言-优快云问答
f_mkdir函数:
函数功能:创建一个新目录
注意:在官方的USB库文件中,_FS_READONLY与_FS_MINIMIZE必须要==0才能使用
f_mkdir("MUSIC");//最好大写
f_stat函数:
操作:
static FILINFO fno;//存取文件信息结构体
FRESULT res;//返回值
UINT bw;//用不太上,定义是为了使用f_write
res =f_stat("0/:message.txt", &fno);//获取打开的文件信息
res =f_lseek(&hFile,fno.fsize);//移动文件光标fno.fsize的长度
if(FR_OK == res)
{
f_write(&file,数组指针, strlen(数组), &bw);
}
f_chdir函数:
函数功能:改变一个驱动器的当前目录;
注意点:
1、当出现0x05 FR_NO_PATH的返回值时,改变失败,可能是没有该文件夹,此时可配合f_mkdir操作使用。
2、需要在官方文件中打开宏定义: FF_FS_RPATH 1
3、需重复挂载,一次挂载只能使用一次:
FATFS fatfs;//定义的地方
res=f_mount(&fatfs, "0:/", 0);//必须在fatfs定义的.c内使用,不能extern去别的地方挂载与卸载
文件操作函数();
res=f_mount(NULL, "0:/", 0);
操作:
res =f_chdir("MUSIC");//最好大写
if(FR_NO_PATH == res)
{
res = f_mkdir("MUSIC");
if(FR_OK == res)
{
res = f_chdir("MUSIC");//创建文件夹成功,再次改变路径
}
}
f_close函数:
res = f_close(&file);//一个文件必须关闭了,写入的东西才能保存