现在的位置: 首页 > 综合 > 正文

fatfs里的结构体 —— 之FATFS

2019年03月23日 ⁄ 综合 ⁄ 共 1296字 ⁄ 字号 评论关闭

测一下:

/* File system object structure */

typedef struct _FATFS {
BYTE fs_type;/* FAT sub type */
 /* FAT子类型,一般在mount时用,置0表示未挂载*/
BYTE drive;/* Physical drive number */
/* 物理驱动号,一般为0*/
BYTE csize;/* Number of sectors(扇) per cluster(簇) */
BYTE n_fats;/* Number of FAT copies */
/* 文件分配表的数目(1,2) */
/*FAT文件系统依次为:引导扇区、两个文件分配表、根目录区和数据区*/
BYTE wflag;/* win[] dirty flag (1:must be written back) */  
/* 标记文件是否被改动过,为1时要回写*/
BYTE pad1;
WORD id;/* File system mount ID */
/* 文件系统挂载ID */
WORD n_rootdir;/* Number of root directory entries (0 on FAT32) */  /* 根目录区入口(目录项)的个数(用于FAT12/16)*/
#if _FS_REENTRANT
_SYNC_t
sobj; /* Identifier of sync object (同步对象标识符) */  /* 允许重入,即定义同步对象,用在tiny中*/
#endif
#if _MAX_SS != 512U
WORD s_size;/* Sector size */  
/* 每扇区的字节数(用于扇区大于512Byte的flash) */
#endif
#if !_FS_READONLY
BYTE fsi_flag;/* fsinfo dirty flag (1:must be written back) *//* 标记文件系统信息是否被改动过,为1时要回写*/
BYTE pad2;
DWORD last_clust;/* Last allocated cluster */
/* 最后一个被分配的簇*/
DWORD free_clust;/* Number of free clusters */
DWORD fsi_sector;/* fsinfo sector */  
/* 存放fsinfo的扇区(用于FAT32) */
#endif
DWORD sects_fat;/* Sectors per fat */
DWORD max_clust;/* Maximum cluster# + 1. Number of clusters is max_clust - 2 */
DWORD fatbase;/* FAT start sector */
DWORD dirbase;/* Root directory start sector (Cluster# on FAT32) */
DWORD database;/* Data start sector */
/* 数据目录起始扇区*/
DWORD winsect;/* Current sector appearing in the win[] */
 /* 当前缓冲区中存储的扇区号*/
BYTE win[_MAX_SS];/* Disk access window for Directory/FAT */ 
/* 单个扇区缓存*/

} FATFS;

抱歉!评论已关闭.