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

📄 fatx.h

📁 SD卡的读写
💻 H
字号:
#ifndef FAT_H
#define FAT_H

#define CHAR unsigned char
#define BYTE unsigned char
#define WORD unsigned int
#define DWORD unsigned long

struct partrecord //  16 字节
{			
	BYTE	prIsActive;					// 0x80代表该分区为缺省分区
	BYTE	prStartHead;				// 该分区入口的磁头地址
	WORD	prStartCylSect;				// 该分区入口的扇区地址和柱面地址
	BYTE	prPartType;					// 该分区类型
	BYTE	prEndHead;					// 该分区结束的扇区地址
	WORD	prEndCylSect;				// 该分区结束的柱面地址
	DWORD	prStartLBA;					// 该分区内第一个扇区地址
	DWORD	prSize;						// 该分区所包含的扇区总数
};

struct partsector
{
	CHAR	psPartCode[512-64-2];		// 启动代码 (446 bytes)
	BYTE	psPart[64];					// 四个分区表(64 bytes)
	BYTE	psBootSectSig0;				// 两个签名(2 bytes)
	BYTE	psBootSectSig1;
#define BOOTSIG0        0x55
#define BOOTSIG1        0xaa
};

//系统引导扇区(DOS BOOT RECORD)DBR结构
struct bootsector710 {
	BYTE	bsJump[3];					// 跳转指令
	CHAR	bsOEMName[8];				// 厂商标志和OS版本号
	CHAR	bsBPB[53];					// BIOS 参数块
	CHAR	bsExt[26];					// 扩展BPB
	CHAR	bsBootCode[418];			// 引导扇区代码
	BYTE	bsBootSectSig2;				
	BYTE	bsBootSectSig3;
	BYTE	bsBootSectSig0;				// 引导扇区签名0x55
	BYTE	bsBootSectSig1;				// 引导扇区签名0xAA
#define BOOTSIG0        0x55
#define BOOTSIG1        0xaa
#define BOOTSIG2        0
#define BOOTSIG3        0
};

// BIOS 参数块
struct bpb710 {
		WORD	bpbBytesPerSec;	// 每扇区字节数
		BYTE	bpbSecPerClust;	// 每簇扇区数
		WORD	bpbResSectors;	// 保留区域中的保留扇区数
		BYTE	bpbFATs;		// FAT表的份数
		WORD	bpbRootDirEnts;	// 根目录项数
		WORD	bpbSectors;		// 此域为存储卷上的扇区总数
		BYTE	bpbMedia;		// 固定存储介质描述

		WORD	bpbFATsecs;		// FAT表所占的扇区数
		
		WORD	bpbSecPerTrack;	// 每道扇区数
		WORD	bpbHeads;		// 磁头数
		DWORD	bpbHiddenSecs;	// 隐藏扇区数
		DWORD	bpbHugeSectors;	// 总扇区数
		DWORD     bpbBigFATsecs;// 每个FAT区所占扇区数
		WORD      bpbExtFlags;	// 扩展标志
#define FATNUM    0xf			
#define FATMIRROR 0x80			
		WORD      bpbFSVers;	// 文件系统版本
#define FSVERS    0				
		DWORD     bpbRootClust;	// 根目录簇号
		WORD      bpbFSInfo;	// 文件系统信息扇区号
		WORD      bpbBackup;	// 备份引导扇区
};

#endif


⌨️ 快捷键说明

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