亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fat.h

?? 用avr單片機和sd卡制作mp3的全部資料
?? H
字號:
/************************************************************/
/*		         HEAD FILE  for   FAT					    */
/*				   By   pasyong								*/
/*				   2006-4									*/
/*				   Base ICC6.31A					        */
/************************************************************/
#ifndef FAT_H
#define FAT_H
#include <avr/pgmspace.h>
#include "comm.h"
#define CHAR unsigned char
#define BYTE unsigned char
#define WORD unsigned int
#define DWORD unsigned long

//簇定義
#define MSDOSFSROOT     0               
#define CLUST_FREE      0               
#define MSDOSFSFREE     CLUST_FREE
#define CLUST_RSRVD     0xfffffff6      // 系統保留簇
#define CLUST_BAD       0xfffffff7      // 壞簇
#define CLUST_EOFS      0xfffffff8      // 第一個結束簇
#define CLUST_EOFE      0xffffffff      // 最后一個結束簇

#define FAT12_MASK      0x00000fff      // FAT12掩碼
#define FAT16_MASK      0x0000ffff      // FAT16掩碼
#define FAT32_MASK      0x0fffffff      // FAT32掩碼

#define FAT12           0
#define FAT16           1
#define FAT32           2

// 分區類型
#define PART_TYPE_UNKNOWN		0x00
#define PART_TYPE_FAT12			0x01
#define PART_TYPE_XENIX			0x02
#define PART_TYPE_DOSFAT16	0x04
#define PART_TYPE_EXTDOS		0x05
#define PART_TYPE_FAT16			0x06
#define PART_TYPE_NTFS			0x07
#define PART_TYPE_FAT32			0x0B
#define PART_TYPE_FAT32LBA	0x0C
#define PART_TYPE_FAT16LBA	0x0E
#define PART_TYPE_EXTDOSLBA	0x0F
#define PART_TYPE_ONTRACK		0x33
#define PART_TYPE_NOVELL		0x40
#define PART_TYPE_PCIX			0x4B
#define PART_TYPE_PHOENIXSAVE	0xA0
#define PART_TYPE_CPM				0xDB
#define PART_TYPE_DBFS			0xE0
#define PART_TYPE_BBT				0xFF

typedef struct //  16 字節
{			
	BYTE	prIsActive;					// 0x80代表該分區為缺省分區
	BYTE	prStartHead;				// 該分區入口的磁頭地址
	WORD	prStartCylSect;				// 該分區入口的扇區地址和柱面地址
	BYTE	prPartType;					// 該分區類型
	BYTE	prEndHead;					// 該分區結束的扇區地址
	WORD	prEndCylSect;				// 該分區結束的柱面地址
	DWORD	prStartLBA;					// 該分區內第一個扇區地址
	DWORD	prSize;						// 該分區所包含的扇區總數
}PARTRECORD;

        
typedef struct{
	CHAR	psPartCode[512-64-2];	// 啟動代碼 (446 bytes)
	BYTE	psPart[64];						// 四個分區表(64 bytes)
	BYTE	psBootSectSig0;				// 兩個簽名(2 bytes)
	BYTE	psBootSectSig1;
#define BOOTSIG0        0x55
#define BOOTSIG1        0xaa
}PARTSECTOR;

//系統引導扇區(DOS BOOT RECORD)DBR結構

typedef struct{
	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
}BOOTSECTOR710;


// BIOS 參數塊
typedef struct {
		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;	// 備份引導扇區
} BPB710;

// 目錄或文件入口地址結構
typedef struct{
		BYTE		deName[8];          // 文件名
#define SLOT_EMPTY      0x00            // 目錄項為空
#define SLOT_E5         0x05            
#define SLOT_DELETED    0xe5            // 文件已被刪除
		BYTE		deExtension[3];     // 擴展名
		BYTE		deAttributes;       // 文件屬性
#define ATTR_NORMAL     0x00            // 讀寫
#define ATTR_READONLY   0x01            // 只讀
#define ATTR_HIDDEN     0x02            // 隱藏
#define ATTR_SYSTEM     0x04            // 系統文件
#define ATTR_VOLUME     0x08            // 卷標文件
#define ATTR_LONG_FILENAME	0x0f		// 長文件名文件			    
#define ATTR_DIRECTORY  0x10            // 子目錄文件
#define ATTR_ARCHIVE    0x20            // 歸檔文件
		BYTE        deLowerCase;        // 系統保留
#define LCASE_BASE      0x08            
#define LCASE_EXT       0x10            
		BYTE        deCHundredth;       // 文件創建時間的10MS
		BYTE        deCTime[2];         // 文件創建時間
		BYTE        deCDate[2];         // 文件創建日期
		BYTE        deADate[2];         // 文件最近訪問日期
		WORD        deHighClust; 	    // 文件起始簇號的高16位
		BYTE        deMTime[2];         // 文件最近修改時間
		BYTE        deMDate[2];         // 文件最近修改日期
		WORD        deStartCluster;     // 文件起始簇號的低16位
		DWORD       deFileSize;  	    // 文件長度
} DIRENTRY;

// 一個扇區中的目錄項數
#define DIRENTRIES_PER_SECTOR	0x10

// 長文件名入口地址結構
typedef struct {
		BYTE		weCnt;                //序號
#define WIN_LAST        0x40            
#define WIN_CNT         0x3f
		BYTE		wePart1[10];          //長文件名UNICODE碼(第一部分)
		BYTE		weAttributes;         //長文件名目錄項標志
#define ATTR_WIN95      0x0f
		BYTE		weReserved1;          //系統保留              
		BYTE		weChksum;             //校驗值
		BYTE		wePart2[12];          //長文件名UNICODE碼(第二部分)
		WORD       	weReserved2;          //文件開始簇號
		BYTE		wePart3[4];           //長文件名UNICODE碼(第三部分)
} WINENTRY;

#define WIN_CHARS	13      //長文件名入口地址結構可包含13個字符 

//在FAT32中,文件名最長可到255個字符
#define WIN_MAXLEN      255

// 目錄或文件入口地址結構中的時間結構

#define DT_2SECONDS_MASK        0x1F    // 秒
#define DT_2SECONDS_SHIFT       0
#define DT_MINUTES_MASK         0x7E0   // 分
#define DT_MINUTES_SHIFT        5
#define DT_HOURS_MASK           0xF800  // 時
#define DT_HOURS_SHIFT          11

// 目錄或文件入口地址結構中的日期結構

#define DD_DAY_MASK             0x1F    // 日
#define DD_DAY_SHIFT            0
#define DD_MONTH_MASK           0x1E0   // 月
#define DD_MONTH_SHIFT          5
#define DD_YEAR_MASK            0xFE00  // 年 - 1980
#define DD_YEAR_SHIFT           9

// 可調函數   
void ReadBlock(unsigned long LBA);
unsigned long fatClustToSect(unsigned long clust);
unsigned long  fatGetRootSector(void);
unsigned long fatGetRootClust(void);
unsigned char fatInit( void);
unsigned int fatClusterSize(void);
unsigned long fatGetFilesize(void);
char* fatGetFilename(void);
char* fatGetDirname(void);
void fatLoadCluster(unsigned long cluster, unsigned char *buffer);
unsigned long fatNextCluster(unsigned long cluster);
void GetSysFileClust(unsigned long *hzk,unsigned long *unit);
void FindLrcFile(unsigned long dircluster,unsigned char *strName);
unsigned char IsMusicFile(unsigned char *strName);
void InitSetPath(FIND_FILE_INFO *fp,unsigned long dircluster);
void ReadBlockToBuff(unsigned long LBA,unsigned char *pbuff); 
unsigned char ReadNextDirEntry(FIND_FILE_INFO *fp); 
void UniToGB(unsigned char *pbuf);
unsigned char IsUnitogbFile(unsigned char *pbuf);
unsigned char IsHzk12File(unsigned char *pbuf);
unsigned char IsCurDir(unsigned char *strName);
unsigned char IsFatherDir(unsigned char *strName);
unsigned int FindDirIndex(unsigned long fatherdir,unsigned long dircluster);
unsigned int SerarchFile(unsigned long dircluster,unsigned int index);
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级在线观看| 91影视在线播放| 精品久久久影院| 九色综合狠狠综合久久| 日韩精品一区国产麻豆| 国产在线精品一区二区不卡了| 精品国产免费一区二区三区四区| 韩国三级电影一区二区| 国产亚洲一本大道中文在线| 国产成人久久精品77777最新版本| 久久久不卡影院| 91在线porny国产在线看| 亚洲欧美韩国综合色| 欧美性大战久久久| 精品一区二区影视| 中文字幕在线观看一区二区| 91国偷自产一区二区使用方法| 五月综合激情日本mⅴ| 日韩视频免费观看高清完整版在线观看 | 国产香蕉久久精品综合网| 国产成人精品亚洲午夜麻豆| 欧美激情一区二区| 欧美在线观看视频一区二区| 免费黄网站欧美| 国产精品色在线观看| 在线视频一区二区三区| 青草国产精品久久久久久| 国产亚洲女人久久久久毛片| 91色综合久久久久婷婷| 免费的国产精品| 中文字幕人成不卡一区| 日韩午夜电影av| 成人av午夜电影| 美腿丝袜亚洲一区| 中文字幕日韩精品一区| 欧美一级专区免费大片| 99久久亚洲一区二区三区青草| 日韩精品高清不卡| 中文字幕字幕中文在线中不卡视频| 91精品国产综合久久精品性色| 激情综合色综合久久综合| 国产精品久久久久久久浪潮网站| 欧美日韩1区2区| 不卡一区二区三区四区| 美日韩一区二区三区| 亚洲久草在线视频| 久久久久久久一区| 欧美挠脚心视频网站| www.欧美色图| 韩国欧美国产一区| 午夜欧美电影在线观看| 亚洲丝袜美腿综合| 国产精品―色哟哟| 久久众筹精品私拍模特| 欧美军同video69gay| 91亚洲精品久久久蜜桃| 国产suv一区二区三区88区| 麻豆国产欧美日韩综合精品二区| 洋洋av久久久久久久一区| 国产欧美精品一区二区色综合朱莉| 欧美剧情片在线观看| 欧美在线色视频| 91视频在线观看免费| 成人免费视频app| 国产成人在线免费| 狠狠狠色丁香婷婷综合激情| 日韩av在线免费观看不卡| 亚洲综合免费观看高清完整版在线| 中文字幕日本不卡| 欧美极品少妇xxxxⅹ高跟鞋| 精品国精品自拍自在线| 91精品国产综合久久国产大片| 欧美综合色免费| 91丨porny丨在线| 成人高清免费观看| 成人深夜视频在线观看| 国产大陆a不卡| 国产v综合v亚洲欧| 成人性生交大片免费看视频在线 | 国产精品区一区二区三区 | 国产欧美综合色| 国产日韩欧美一区二区三区综合| 欧美大片顶级少妇| 337p日本欧洲亚洲大胆色噜噜| 日韩视频一区在线观看| 日韩三级伦理片妻子的秘密按摩| 91精品国产综合久久婷婷香蕉| 日韩一区二区三区在线观看 | 激情成人综合网| 寂寞少妇一区二区三区| 国产成人福利片| 91老师片黄在线观看| 91欧美一区二区| 99视频精品全部免费在线| 91色视频在线| 欧美精品三级日韩久久| 日韩亚洲欧美在线观看| 久久久久国产精品免费免费搜索 | 国产精品嫩草影院av蜜臀| 精品国产乱码久久| 久久久久久久综合狠狠综合| 中文字幕av一区二区三区免费看 | 国产成人精品一区二区三区网站观看| 国产99久久精品| 91激情五月电影| 日韩午夜激情视频| 中文字幕av一区二区三区免费看 | 欧美揉bbbbb揉bbbbb| 日韩欧美在线网站| 欧美韩国日本一区| 亚洲福利视频一区二区| 国内久久婷婷综合| 91首页免费视频| 日韩欧美高清一区| 中文字幕日韩欧美一区二区三区| 亚洲一区在线观看免费观看电影高清| 日本va欧美va欧美va精品| 成人三级伦理片| 欧美日韩激情在线| 国产亚洲午夜高清国产拍精品| 一区二区在线观看不卡| 久久se精品一区精品二区| 色婷婷综合久久久中文字幕| 欧美一区二区三区四区久久| 亚洲国产电影在线观看| 日韩黄色小视频| 99视频一区二区三区| 日韩欧美资源站| 夜夜揉揉日日人人青青一国产精品| 美女国产一区二区| 日本伦理一区二区| 久久久久99精品国产片| 亚洲综合偷拍欧美一区色| 国产精品主播直播| 欧美美女黄视频| 亚洲欧美国产77777| 精品在线免费视频| 欧美日韩国产一二三| 中文字幕精品—区二区四季| 免费精品视频在线| 欧美理论电影在线| 亚洲免费av观看| 成人听书哪个软件好| 久久综合国产精品| 美女视频第一区二区三区免费观看网站| 色综合天天综合网国产成人综合天| 26uuu亚洲综合色| 日韩成人免费电影| 欧美日韩一区二区三区四区| 中文字幕一区av| 国产91在线|亚洲| 精品99一区二区| 六月丁香综合在线视频| 欧美日韩dvd在线观看| 亚洲欧美另类久久久精品2019| 成人性色生活片| 久久精品夜色噜噜亚洲a∨| 男人的j进女人的j一区| 7799精品视频| 奇米亚洲午夜久久精品| 精品视频1区2区| 亚洲成人一区二区在线观看| 91丝袜美腿高跟国产极品老师 | 国产一区二区三区综合| 日韩视频一区二区在线观看| 日本女优在线视频一区二区| 欧美日韩高清一区二区| 亚洲国产视频一区| 欧美日韩美女一区二区| 亚洲福利视频一区二区| 在线播放91灌醉迷j高跟美女| 一区二区三区在线免费观看 | 午夜久久电影网| 欧美老人xxxx18| 免费看日韩a级影片| 日韩三级视频在线观看| 精品综合免费视频观看| 久久综合av免费| www.欧美日韩| 亚洲欧美偷拍三级| 欧美日免费三级在线| 免费在线看一区| 精品美女一区二区三区| 狠狠网亚洲精品| 国产日韩精品一区二区三区在线| 国产成人午夜精品5599| 国产精品不卡视频| 在线观看免费成人| 奇米777欧美一区二区| 久久婷婷成人综合色| 成人黄页毛片网站| 亚洲精品久久嫩草网站秘色| 欧美亚洲国产一区在线观看网站| 午夜精品福利视频网站| 日韩欧美卡一卡二| 国产精品888| 夜夜嗨av一区二区三区网页| 日韩欧美不卡一区| eeuss鲁片一区二区三区在线观看| 亚洲视频免费在线|