FATFS函数浅谈 看完学会FATSFS,建议收藏( 三 )


以下式电脑侑见属性查看结果:
和串口读出来的结果一样 。
十四、改变文件属性
FRESULT f_chmod (const TCHAR*FileName, /* Pointer to the file or directory */BYTEAttribute, /* Attribute flags */BYTEAttributeMask /* Attribute masks */);
函数说明:
1. 此函数可以修改文件或文件夹的属性
2. 可修改的属性只能是以下一种或几种的组合,对其它属性无效
3. 参数说明:
a) *:指向文件或文件夹的名称的指针
b) :要置位的属性
c) :需要改变的属性(包括要置位的和要清除的属性)
4. 使用方法:
a)须为的子集
b) 函数对中的属性集合进行处理,若属性包含在
中,则置位,否则清除
例程:
1.对文件 .txt,置位 ARC 和 SYS 属性,取消 HID 和 REO 属性
res = f_chmod("folder/newname.txt", AM_ARC | AM_SYS, AM_ARC | AM_RDO | AM_HID |AM_SYS);if( res )Debug("err :%d\r\n", res);else{res = f_stat("folder/newname.txt", &finfo);Debug("%d\r\n",finfo.fattrib);}
2.对文件夹 new,置位 SYS 和 ARC 属性,取消 HID 和 RDO 属性
res = f_chmod("new", AM_SYS | AM_ARC, AM_ARC | AM_RDO | AM_HID | AM_SYS);if( res )Debug("err :%d\r\n", res);else{res = f_stat("new", &finfo);Debug("%d\r\n",finfo.fattrib);}
十五、改变时间戳
FRESULT f_utime (const TCHAR*FileName, /* Pointer to the file or directory path */const FILINFO*TimeDate /* Time and data to be set */);
函数说明:
1. 此函数可以更改文件的最近修改时间
2. 参数说明:
a):指向文件的指针
b):指向文件信息结构体的指针
例:
FRESULT set_timestamp ( char *obj, /* Pointer to the file name */int year, int month, int mday, int hour, int min, int sec)//{FILINFO fno;fno.fdate = (WORD)(((year - 1980) * 512U) | month * 32U | mday);fno.ftime = (WORD)(hour * 2048U | min * 32U | sec / 2U);return f_utime(obj, &fno);}res = set_timestamp("123.txt",2001,06,05,02,03,34);//修改 123.txt 时间Debug("%d\r\n",res);‘
执行函数后,串口返回 0
在 PC 上右键属性可以看到结果如下:
先写到这,后面的函数,用到时再研究:
【FATFS函数浅谈 看完学会FATSFS,建议收藏】? f_forward - Forward file data to the stream directly? f_chdir - Change current directory? f_chdrive - Change current drive? f_getcwd - Retrieve the current directory? f_gets - Read a string? f_putc - Write a character? f_puts - Write a string? f_printf - Write a formatted string