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

📄 rbccmd.h

📁 基于C51及SL811读写U盘的源程序
💻 H
字号:
#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;			  //FAT的个数
  INT16 BPB_RootEntCnt;		  //根目录项数
  INT16 BPB_TotSec16;         //分区总扇区数
 // INT8 BPB_Media;
  INT16 BPB_FATSz16;		  //FAT16 每个FAT占用的扇区数
  INT16 BPB_SecPerTrk;		  //每道扇区数
  INT16 BPB_NumHeads;         //磁头数
  unsigned long BPB_HiddSec;  //隐藏扇区数
  unsigned long BPB_TotSec32; //分区总扇区数(>32M时用)
  //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///////////////////////////////
  INT32 BPB_FATSz32;			//FAT32 每个FAT占用的扇区数
  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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -