📄 fat16.h
字号:
/*#######################################################################################
Project:MSP430F1XX MCU Development Board
fat16.h
Copyright (C) 2007 edadiy
http://www.edadiy.cn
#######################################################################################*/
#ifndef _fat16_h_
#define _fat16_h_
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
/*typedef struct
{
uint8 BS_jmpBoot[3];
uint8 BS_OEMName[7];
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;
//#pragma pack()
//********************************************************************************************
void ReadBlock(uint32 LBA);
//********************************************************************************************
void WriteBlock(uint32 LBA);
//********************************************************************************************
void CopyBytes(void* S, void* D, uint16 size);
//********************************************************************************************
uint8 IsEqual(void* A, void* B, uint8 Size);
//********************************************************************************************
void EmptyBytes(void* D, uint16 size);
//********************************************************************************************
void ReadBPB(void);
//********************************************************************************************
uint32 DirStartSec(void);
//********************************************************************************************
uint32 DataStartSec(void);
//********************************************************************************************
uint16 GetDirSecCount(void);
//********************************************************************************************
uint32 ClusConvLBA(uint16 ClusID);
//********************************************************************************************
uint16 ReadFAT(uint16 Index);
//********************************************************************************************
void WriteFAT(uint16 Index, uint16 Value);
//********************************************************************************************
uint16 GetEmptyDIR(void);
//********************************************************************************************
uint8 GetFileID(uint8* Name, DIR* ID);
//********************************************************************************************
uint16 GetNextFAT(void);
//********************************************************************************************
void ReadDIR(uint16 Index, DIR* Value);
//********************************************************************************************
void WriteDIR(uint16 Index, DIR* Value);
//********************************************************************************************
uint8 CreateFile(uint8* FileName, uint32 Size);
//********************************************************************************************
void CopyFAT(void);
//********************************************************************************************
uint8 OperateFile(uint8 Write ,uint8* Name, uint32 Start, uint32 Length, void* Data);
void GetEmptyFile(uint8* Name, uint32 size);
#endif//_fat16_h_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -