⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.h

📁 AVR单片机系统开发经典实例部分源程序
💻 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 + -