📄 fat.h
字号:
#include"sd.h"
//DISK_FAT_INFO结构,用来存储SD卡的信息
struct DISK_FAT_INFO
{
uint32 DBR_LBA; //DBR的起始扇区
uint32 FDT_LBA; //FDT的起始扇区
uint32 FAT_LBA; //FAT的起始扇区
uint16 FDT_StartClustor; //FDT的起始簇
byte FAT_Style; //文件系统类型
uint16 BytesPerSector; //一扇区的字节数
byte SectorsPerClustor; //一簇的扇区数
byte NumOfFATs; //FAT的数量
uint32 SectorsPerFAT; //一个FAT占的扇区数
};
//MUSIC_INFO结构,用来存储音乐的信息,MusicInfoList用来存放音乐列表,这里限制100首
struct MUSIC_INFO
{
char FileName[30]; //文件名
char ExtName[3]; //扩展名
uint32 FileStartClustor; //文件的起始簇号
uint32 FileLength; //文件的长度
};
//簇定义
#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掩码
extern uint8 Fat_Buffer[512];
extern uint32 NumOfFile; //文件的数量
uint8 Fat_Init(void);
uint32 ReadBlockforCluster(uint32 Sector,uint32 offset);
uint32 FatNextCluster(uint32 cluster);
void GetMusicFile(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -