FATFS裡的FILINFO結構體詳解
阿新 • • 發佈:2019-01-23
當呼叫FatFS中的f_readdir函式返回FILINFO值的時候,大家如果直接看FILINFO裡面的值可能看不懂。因為裡面的值需要大家轉換一下,FILINFO的具體格式如下:
fsize:Indicates size of the file in unit of byte. Always zero for directories.
fdate:Indicates the date that the file was modified or the directory was created.
bit15:9
Year origin from 1980 (0..127)
bit8:5
Month (1..12)
bit4:0
Day (1..31)
ftime:Indicates the time that the file was modified or the directory was created.
bit15:11
Hour (0..23)
bit10:5
Minute (0..59)
bit4:0
Second / 2 (0..29)
The FILINFO structure holds a file information returned by f_stat and f_readdir function./* File information structure (FILINFO) */ typedef struct { FSIZE_t fsize; /* File size */ WORD fdate; /* Modified date */ WORD ftime; /* Modified time */ BYTE fattrib; /* File attribute */ #if FF_USE_LFN TCHAR altname[FF_SFN_BUF + 1];/* Altenative file name */ TCHAR fname[FF_LFN_BUF + 1]; /* Primary file name */ #else TCHAR fname[12 + 1]; /* File name */ #endif } FILINFO;
typedef struct {
DWORD fsize; /* File size */
WORD fdate; /* Last modified date */
WORD ftime; /* Last modified time */
BYTE fattrib; /* Attribute */
TCHAR fname[13]; /* Short file name (8.3 format) */
#if _USE_LFN
TCHAR* lfname; /* Pointer to the LFN buffer */
int lfsize; /* Size of the LFN buffer in unit of TCHAR */
#endif
} FILINFO;
Membersfsize:Indicates size of the file in unit of byte. Always zero for directories.
fdate:Indicates the date that the file was modified or the directory was created.
bit15:9
Year origin from 1980 (0..127)
bit8:5
Month (1..12)
bit4:0
Day (1..31)
ftime:Indicates the time that the file was modified or the directory was created.
bit15:11
Hour (0..23)
bit10:5
Minute (0..59)
bit4:0
Second / 2 (0..29)
fattrib:Indicates the file/directory attribute in combination of AM_DIR, AM_RDO, AM_HID, AM_SYS and AM_ARC.
fname[]:Indicates the file/directory name in 8.3 format null-terminated string. It is always returnd with upper case on non-LFN configuration but it can be returned with lower case on LFN configuration.
lfname:Pointer to the LFN buffer to store the read LFN. This member must be initialized by application prior to use this str ucture. Not available on non-LFN configuration.
lfsize:Size of the LFN buffer in unit of TCHAR. This member must be initialized by application prior to use this structure. Not available on non-LFN configuration.