📄 fat16.h
字号:
#include "config.h"
//-------------------------------------------------------------------------
typedef struct{
uint8 PB_BootIndicator;
uint8 PB_StartHead;
uint16 PB_StartSector;
uint8 PB_SystemID;
uint8 PB_EndHead;
uint16 PB_EndSector;
uint32 PB_RelativeSector;
uint32 PB_TotalSector;
} FAT_PB;
//-------------------------------------------------------------------------
typedef struct{
uint8 MBR_mbr[446];
FAT_PB MBR_pb[4];
uint16 MBR_Signature;
} FAT_MBR;
//-------------------------------------------------------------------------
typedef struct{
uint8 BS_jmpBoot[3];
uint8 BS_OEMName[8];
uint16 BPB_BytesPerSec;
uint8 BPB_SecPerClus;
uint16 BPB_RsvdSecCnt;
uint8 BPB_NumFATs;
uint16 BPB_RootEntCnt;
uint16 BPB_TotSec16;
uint8 BPB_Media;
uint16 BPB_FATSz16;
uint16 BPB_SecPerTrk;
uint16 BPB_NumHeads;
uint32 BPB_HiddSec;
uint32 BPB_TotSec32;
uint8 BS_DrvNum;
uint8 BS_Reservedl;
uint8 BS_BootSig;
uint32 BS_VolID;
uint8 BS_VolLab[11];
uint8 BS_FilSysType[8];
uint8 ExecutableCode[448];
uint8 ExecutableMarker[2];
} FAT_BPB;
//-------------------------------------------------------------------------
typedef struct{
uint8 NAME[8];
uint8 TYPE[3];
} FILE_NAME;
//-------------------------------------------------------------------------
typedef struct{
uint16 Start;
uint32 Size;
} FILE_POSIT;
//-------------------------------------------------------------------------
typedef struct{
FILE_NAME FileName;
uint8 FileAttrib;
uint8 UnUsed[10];
uint8 FileUpdateTime[2];
uint8 FileUpdateData[2];
FILE_POSIT FilePosit;
} DIR;
//-------------------------------------------------------------------------
typedef struct{
uint16 ClusID;
uint16 SecOfClus;
uint16 ByteOfSec;
} DATA_POSIT;
//-------------------------------------------------------------------------
#define SD_SUCC 0
#define SD_FAIL 1
//-------------------------------------------------------------------------
uint8 InitFat16(void);
uint8 CreateFile(uint8* Name,uint32 Size);
uint8 EreaseFile(uint8 Name[11]);
uint8 ReadFile(uint8 Name[11],uint32 Start,uint32 len,uint8 *p);
uint8 WriteFile(uint8 Name[11],uint32 Start,uint32 len,uint8 *p);
//-------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -