📄 fat.h
字号:
//---------------------------- 文件系统程序 -----------------------------
//
//文件系统:简易FAT32
//代码作者:廖华明(师兄)
//时间:2009.7.8
//
//------------------------------------------------------------------------
#include"sd.h"
extern uint32 FirstDataSector;
//簇定义
#define MSDOSFSROOT 0
#define CLUST_FREE 0
#define MSDOSFSFREE CLUST_FREE
#define CLUST_RSRVD 0xfffffff6 // 系统保留簇
#define CLUST_BAD 0xfffffff7 // 坏簇
#define CLUST_EOFS 0xfffffff8 // 第一个结束簇
#define CLUST_EOFE 0xffffffff // 最后一个结束簇
#define FAT12_MASK 0x00000fff // FAT12掩码
#define FAT16_MASK 0x0000ffff // FAT16掩码
#define FAT32_MASK 0x0fffffff // FAT32掩码
// 分区类型
#define PART_TYPE_UNKNOWN 0x00
#define PART_TYPE_FAT12 0x01
#define PART_TYPE_XENIX 0x02
#define PART_TYPE_DOSFAT16 0x04
#define PART_TYPE_EXTDOS 0x05
#define PART_TYPE_FAT16 0x06
#define PART_TYPE_NTFS 0x07
#define PART_TYPE_FAT32 0x0B
#define PART_TYPE_FAT32LBA 0x0C
#define PART_TYPE_FAT16LBA 0x0E
#define PART_TYPE_EXTDOSLBA 0x0F
#define PART_TYPE_ONTRACK 0x33
#define PART_TYPE_NOVELL 0x40
#define PART_TYPE_PCIX 0x4B
#define PART_TYPE_PHOENIXSAVE 0xA0
#define PART_TYPE_CPM 0xDB
#define PART_TYPE_DBFS 0xE0
#define PART_TYPE_BBT 0xFF
#define ATTR_NORMAL 0x00 // 读写
#define ATTR_READONLY 0x01 // 只读
#define ATTR_HIDDEN 0x02 // 隐藏
#define ATTR_SYSTEM 0x04 // 系统文件
#define ATTR_VOLUME 0x08 // 卷标文件
#define ATTR_LONG_FILENAME 0x0f // 长文件名文件
#define ATTR_DIRECTORY 0x10 // 子目录文件
#define ATTR_ARCHIVE 0x20 // 归档文件
#define MP3_TYPE 0
#define WMA_TYPE 1
#define MID_TYPE 2
#define LRC_TYPE 3
extern uint8 deName[8];
extern uint8 deExtension[3];
extern uint32 Clust; //当前目录的簇号
extern uint16 Nums; //仅FAT12—FAT16中的根目录区有效
extern uint32 Index; //当前的BLOCK中目录项索引
extern uint32 FileSize; //文件长度
extern uint32 fclust[20];
extern uint8 fcount;
extern uint32 fsize[20];
extern uint8 Fat_Buffer[512];
uint8 Fat_Init(void);
uint32 ReadBlockforCluster(uint32 Sector,uint32 offset);
void GetUpFileClust(void);
uint32 FatNextCluster(uint32 cluster);
void GetMusicFile(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -