rbccmd.h

来自「TMS2812实现U盘FAT文件系统C代码」· C头文件 代码 · 共 64 行

H
64
字号
#define MAX_par 							15
#define RBC_CMD_READ10						0x28
#define RBC_CMD_READCAPACITY				0x25
#define RBC_CMD_WRITE10						0x2A
// RBC commands
#define SPC_CMD_INQUIRY						0x12
#define SPC_CMD_PRVENTALLOWMEDIUMREMOVAL	0x1E
#define SPC_CMD_REQUESTSENSE				0x03
#define SPC_CMD_TESTUNITREADY				0x00
////////////////////////////////////////////////////////////////////////////////////
// Command Descriptor Block
//      _RBC : Reduced Block Command
//      _SPC : SPC-2 SCSI primary Command - 2
////////////////////////////////////////////////////////////////////////////////////
typedef struct _SYS_INFO_BLOCK{
  unsigned long StartSector;
  unsigned long TotalSector;
  
  INT16 BPB_BytesPerSec;
  INT8 BPB_SecPerClus;
  
  INT8 BPB_NumFATs;
  INT16 BPB_RootEntCnt;
  INT16 BPB_TotSec16;
  INT16 BPB_FATSz16;
  INT16 BPB_SecPerTrk;
  INT16 BPB_NumHeads;
  unsigned long BPB_HiddSec;
  unsigned long BPB_TotSec32;
///////////////////////////////
  unsigned long FatStartSector;
  unsigned long RootStartSector;
  unsigned long FirstDataSector;
/////////////////////FAT32///////////////////////////////
  INT32 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;

⌨️ 快捷键说明

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