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

📄 fat32.h

📁 mega128+ch375实现读写u盘功能iccavr源码
💻 H
字号:
typedef struct _SYS_INFO_BLOCK{
  unsigned long StartSector;
  unsigned long TotalSector;
  
  unsigned int BPB_BytesPerSec;
  unsigned char BPB_SecPerClus;
  
  unsigned char BPB_NumFATs;
   unsigned int BPB_RootEntCnt;
   unsigned int BPB_TotSec16;
 // INT8 BPB_Media;
   unsigned int BPB_FATSz16;
   unsigned int BPB_SecPerTrk;
   unsigned int BPB_NumHeads;
  unsigned long BPB_HiddSec;
  unsigned long BPB_TotSec32;
  //INT8 BS_DrvNum;
 // INT8 BS_BootSig;
  //INT8 BS_VolID[4];
  //INT8 BS_VolLab[11];
  //INT8 BS_FilSysType[8];
   ///////////////////////////////
  unsigned long FatStartSector;
  unsigned long RootStartSector;
  unsigned long FirstDataSector;
/////////////////////FAT32///////////////////////////////
  unsigned long BPB_FATSz32;
  unsigned long RootStartCluster;
  unsigned long TotCluster;
  unsigned char FAT;	
} SYS_INFO_BLOCK;

typedef struct _FILE_INFO{
  unsigned char bFileOpen;
  unsigned long StartCluster;//unsigned int StartCluster;
  unsigned long LengthInByte;
  unsigned long ClusterPointer;//unsigned int ClusterPointer;
  unsigned long SectorPointer;
  unsigned int OffsetofSector;
  unsigned char SectorofCluster;
  unsigned long pointer;
  unsigned long FatSectorPointer;//unsigned int	FatSectorPointer;
} FILE_INFO;

typedef struct _DIR_INFO{
	unsigned char name[8];
	unsigned char extension[3];
	unsigned char attribute;
	unsigned char Reserved[10];
	unsigned int lastUpdateDate;
	unsigned int lastUpdateTime;
	unsigned int startCluster;
	unsigned long length;
} DIR_INFO;
#define MAX_READ_LENGTH  1024
#define MAX_WRITE_LENGTH 2048
#define NULL		0
#define TRUE   		1
#define FALSE  		0
extern SYS_INFO_BLOCK DeviceInfo;
extern FILE_INFO ThisFile;
unsigned long FirstSectorofCluster32(unsigned long clusterNum);
unsigned long ThisFatSecNum32(unsigned long clusterNum);
unsigned long ThisFatEntOffset32(unsigned long clusterNum);
unsigned long GetNextClusterNum32(unsigned long clusterNum);
unsigned char GoToPointer32(unsigned long pointer);
unsigned char DeleteClusterLink32(unsigned long clusterNum);
unsigned long GetFreeCusterNum32(void);
unsigned long CreateClusterLink32(unsigned long currentCluster);
///////////////////////////////////////////////////////////////////////////
unsigned char OpenFile32(unsigned char *pBuffer);
unsigned char ReadFile32(unsigned long readLength,unsigned char *pBuffer);
unsigned char SetFilePointer32(unsigned long pointer);
unsigned char CreateFile32(unsigned long len,unsigned char *pBuffer,unsigned char *pName);
unsigned char WriteFile32(unsigned long writeLength,unsigned char *pBuffer);
unsigned char RemoveFile32(unsigned char *pBuffer);
unsigned char GetCapacity32(unsigned long *plong);
unsigned char CreateDir32(unsigned long len,unsigned char *pBuffer,unsigned char *pName);
unsigned char DownDir32(unsigned char *pBuffer);
unsigned char UpDir32(void);
unsigned char UpRootDir32(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -