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

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

?? fat.c

?? ATMEGA32+Proteus仿真原理圖+C應用程序
?? C
字號:

//=====================================================================
//FAT for AVR(MMC/SD) 
//=====================================================================

//---------------------------------------------------------------------
//    _______________________________________
//   |      |         |     |      |      | |
//   |  DBR | RsvdSec | FAT | FDT  | DATA | |
//   |______|_________|_____|______|______|_|

//    啟動扇區  保留扇區 FAT區 根目錄區  數據區


//根目錄開始扇區 = DBR的扇區地址  +     保留扇區 +  FAT數 *  每FAT扇區數


//數據區開始簇號 = 目錄扇區總數+ 根目錄開始扇區號


//---------------------------------------------------------------------
#include "fat.h"

//---------------------------------------------------------------------
U08 cluster_size;             //每簇扇區數
U16 fat_offset;               //保留扇區數
U16 cluster_offset;           //數據區開始簇號
U16 volume_boot_record_addr;  //DBR的扇區地址


//---------------------------------------------------------------------
//Selections that Adresse of the Volume Boot Record on MBR
//根據MBR計算DBR的扇區地址
//---------------------------------------------------------------------
U16 fat_addr (U08 *Buffer)
{
	U16 volume_boot_record_addr;
	mmc_read_sector (MASTER_BOOT_RECORD,Buffer);      //read MBR to buffer
    volume_boot_record_addr = Buffer[VBR_ADDR] + (Buffer[VBR_ADDR+1] << 8);  
 	//Computed Volume Boot Record 
	mmc_read_sector (volume_boot_record_addr,Buffer); //Read DBR to buffer
    return (volume_boot_record_addr);
}
//---------------------------------------------------------------------
//獲取根目錄開始扇區號
//---------------------------------------------------------------------

U16 fat_root_dir_addr (U08 *Buffer)    
{
	struct BootSec *bootp; //bootp : the structure of DBR
	U16 FirstRootDirSecNum;
	//Selections of the Volume Boot Record of that MMC/SD Karte 
	mmc_read_sector (volume_boot_record_addr,Buffer);
	bootp=(struct BootSec *)Buffer;

	//Computed that first Sector of the Root Directory
	FirstRootDirSecNum = ( bootp->BPB_RsvdSecCnt +
	                       (bootp->BPB_NumFATs * bootp->BPB_FATSz16));
                         //保留扇區數 +  FAT個數 *  每FAT扇區數
	
	FirstRootDirSecNum+= volume_boot_record_addr;//根目錄開始扇區 =  保留扇區數 +  FAT個數 *  每FAT扇區數 
	                                                              // + DBR的扇區地址
	
	return(FirstRootDirSecNum);

}

//---------------------------------------------------------------------
//	Expenditure of the indicated Directory Entry in Entry_Count
//	is none Entry available, is that Entry in 
//	...kgabe Cluster 0xFFFF.it becomes always only ein Entry spent
//	over Storage location too save umit also f黵 small Atmels too use

//讀FDT 根目錄中文件名  屬性  起始簇 ....
//---------------------------------------------------------------------

U16 fat_read_dir_ent (U16 dir_cluster, //Dir Cluster     //0   
					U08 Entry_Count,   //which Dir Entry 已經讀到第幾個目錄結構數據   
					U32 *Size, 		   //the size of File or directory
					U08 *Dir_Attrib,   //the Attributs of File or directory
					U08 *Buffer) 	   //Working Buffer 
{
	U08 *pointer;
	U16 TMP_Entry_Count = 0;
	U32 Block = 0;
	struct DirEntry *dir; //dir...struct

	pointer = Buffer;

	if (dir_cluster == 0)
		{
		Block = fat_root_dir_addr(Buffer);//獲取根目錄開始扇區號
		}
	else
		{
		//computation of the Blocks out Block Count and Cluster out FAT Tabelle
		//computation which Cluster too load is
		//Selections that FAT - Tabelle


		//???????????
		fat_load (dir_cluster,&Block,Buffer);	
				 
		Block = ((Block-2) * cluster_size) + cluster_offset;  //目錄扇區號= (目錄扇區號-2) * 每簇扇區數  +  數據區開始簇號

		}

	//Selections of the Entry Root Directory
    U16 blk;
	for (blk = Block;;blk++)
	{
		mmc_read_sector (blk,Buffer);	//one Blocks of the Root Directory  512 bytes

        U16 a;
		 
		for (a=0;a<BlockSize; a = a + 32)  //BlockSize=512
		{
		 dir=(struct DirEntry *)&Buffer[a]; //Pointer up current Listing Entry get
		 
			if (dir->DIR_Name[0] == 0) //name=00H 表示此項未用
			{
			return (0xFFFF);
			}
			
			//Pr黤en obit ein 8.3 Entry is
			//that is that case if it itself not over one Entry f黵 are enough  File name
			//or over one as gel鰏cht marked Entry acts.

   			if ((dir->DIR_Attr != ATTR_LONG_NAME) &&     //不是長文件
				(dir->DIR_Name[0] != DIR_ENTRY_IS_FREE)) //沒有刪除.
			{
				//is it that gew黱schte Listing Entry
				if (TMP_Entry_Count == Entry_Count) 
				{
					//store of the Listing Entryes in that R點kgabe Buffer
                    U08 b;
					for(b=0;b<11;b++)
					{
					if (dir->DIR_Name[b] != SPACE)
						{
						if (b == 8)
							{
							*pointer++= '.';
							}
						*pointer++=dir->DIR_Name[b];
						}
					}						
					*pointer++='\0';


					*Dir_Attrib = dir->DIR_Attr;//the Attributs of File or directory
					 
					*Size=dir->DIR_FileSize;// the size of file
					
					dir_cluster = dir->DIR_FstClusLO;//the first cluster(low)
					 
					return(dir_cluster);//返回起始簇
				}
			TMP_Entry_Count++;
			}
		}
	}
	return (0xFFFF); //none Entry more found return with 0xFFFF
}
//---------------------------------------------------------------------
//	Selections that Cluster f黵 ein File out that FAT
//	in that Buffer(512Byte). one 128MB MMC/SD 
//	Karte is those Cluster gr鲞e normal proves 16KB gro

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜电影在线| 91同城在线观看| 琪琪久久久久日韩精品| 亚洲成人www| 日本欧美大码aⅴ在线播放| 亚洲bdsm女犯bdsm网站| 日本午夜精品视频在线观看| 偷拍一区二区三区| 七七婷婷婷婷精品国产| 韩国一区二区视频| 国产91丝袜在线播放| 成人黄页毛片网站| 99在线精品一区二区三区| 91蝌蚪porny成人天涯| 欧美性猛片aaaaaaa做受| 欧美性受xxxx黑人xyx性爽| 精品污污网站免费看| 91精品国产综合久久久久久| 欧美一区2区视频在线观看| 精品国产乱码久久久久久久久 | 久久久亚洲国产美女国产盗摄| 欧美不卡一区二区三区| 久久久久青草大香线综合精品| 久久精品日产第一区二区三区高清版| 国产蜜臀av在线一区二区三区| 国产精品久久免费看| 亚洲小少妇裸体bbw| 日本成人中文字幕| 丰满白嫩尤物一区二区| 91在线观看污| 6080亚洲精品一区二区| 久久综合网色—综合色88| 国产精品护士白丝一区av| 亚洲一二三专区| 美腿丝袜亚洲三区| 99视频超级精品| 欧美高清激情brazzers| 久久精品人人做人人爽人人| 伊人婷婷欧美激情| 麻豆视频观看网址久久| 国产在线视频一区二区三区| av一区二区久久| 69堂成人精品免费视频| 国产欧美视频一区二区| 一区二区三区中文字幕| 久久se精品一区二区| 成人av电影在线播放| 欧美精品久久99| 国产精品污www在线观看| 亚洲成人动漫精品| 成人性生交大片免费| 欧美日产在线观看| 中文字幕第一区第二区| 无吗不卡中文字幕| av成人动漫在线观看| 欧美大黄免费观看| 亚洲三级在线播放| 国产精品夜夜嗨| 欧美日韩在线精品一区二区三区激情 | 九九视频精品免费| 91在线免费播放| 精品粉嫩aⅴ一区二区三区四区| 亚洲天堂av一区| 国精品**一区二区三区在线蜜桃| 在线精品视频免费播放| 久久久久久久精| 免费高清在线一区| 在线看不卡av| 国产精品高清亚洲| 国产一区视频网站| 欧美日韩aaaaaa| 一区二区三区精品久久久| 国产乱码精品一区二区三区忘忧草 | 日韩无一区二区| 一区二区三区成人| 成人激情黄色小说| 久久亚洲私人国产精品va媚药| 亚洲大片一区二区三区| 91视频国产观看| 中文字幕乱码日本亚洲一区二区| 久久精品国产久精国产爱| 欧美影院精品一区| 亚洲激情自拍偷拍| gogo大胆日本视频一区| 国产视频不卡一区| 国产原创一区二区| 26uuu国产日韩综合| 青青草国产精品亚洲专区无| 欧美日韩成人一区二区| 亚洲综合色丁香婷婷六月图片| 成人动漫一区二区| 国产精品三级电影| 成人激情小说网站| 国产日韩欧美综合一区| 国产一区二区三区免费播放| 精品国产91乱码一区二区三区| 喷水一区二区三区| 日韩久久久精品| 麻豆精品国产91久久久久久| 91精品国产色综合久久ai换脸| 日韩在线卡一卡二| 欧美三级电影网站| 天天色综合成人网| 7777精品伊人久久久大香线蕉超级流畅 | 91丨porny丨首页| 国产精品久久久久久久第一福利| 国产成人综合在线观看| 日本一区二区三区dvd视频在线| 国产乱码精品一区二区三区忘忧草| 久久综合九色综合97_久久久 | 精品欧美一区二区久久| 蜜桃视频在线观看一区| 久久综合丝袜日本网| 福利视频网站一区二区三区| 欧美国产欧美综合| 91丨九色丨尤物| 亚洲愉拍自拍另类高清精品| 欧美日韩视频在线一区二区| 天天av天天翘天天综合网 | 日本不卡123| 欧美大片一区二区| 国产精品99久久久久久似苏梦涵 | 亚洲精品亚洲人成人网| 欧美色图天堂网| 日本伊人午夜精品| 26uuu亚洲综合色| 成人app下载| 亚洲一区二三区| 日韩情涩欧美日韩视频| 狠狠狠色丁香婷婷综合久久五月| 欧美国产精品一区二区三区| 91麻豆蜜桃一区二区三区| 亚洲电影中文字幕在线观看| 日韩一区二区三区在线| 国产精品系列在线播放| 亚洲女性喷水在线观看一区| 91精品蜜臀在线一区尤物| 国产在线观看免费一区| 亚洲色图欧美激情| 日韩一区二区电影| 成人禁用看黄a在线| 天堂资源在线中文精品| 久久精品夜色噜噜亚洲a∨| 色综合天天性综合| 奇米777欧美一区二区| 中文字幕中文字幕一区二区| 欧美日韩一区二区三区免费看| 精品无人区卡一卡二卡三乱码免费卡| 中文欧美字幕免费| 欧美日韩精品系列| 盗摄精品av一区二区三区| 亚洲尤物在线视频观看| 久久久久97国产精华液好用吗| 色系网站成人免费| 黄网站免费久久| 一区二区三区 在线观看视频| 欧美成人video| 色天使久久综合网天天| 九九**精品视频免费播放| 亚洲免费在线电影| 久久欧美中文字幕| 欧美三级视频在线| 国产99久久久国产精品潘金| 日韩影院精彩在线| 亚洲视频图片小说| 亚洲精品一区二区三区香蕉| 欧美在线视频不卡| 国产99一区视频免费| 人人狠狠综合久久亚洲| 亚洲乱码国产乱码精品精小说| 精品久久久久久久久久久院品网| 一本到不卡精品视频在线观看| 国产在线精品一区在线观看麻豆| 亚洲一区二区偷拍精品| 欧美国产激情一区二区三区蜜月| 欧美一卡二卡在线观看| 色成人在线视频| 成人激情文学综合网| 久久国产精品72免费观看| 亚洲在线视频一区| 亚洲丝袜美腿综合| 国产区在线观看成人精品| 欧美成人aa大片| 欧美一区二区在线播放| 欧美性大战久久久| 色综合色综合色综合色综合色综合| 国产精品系列在线观看| 久久99国产精品尤物| 蜜桃传媒麻豆第一区在线观看| 亚洲成人动漫在线免费观看| 一区二区三区日韩| 亚洲色图20p| 亚洲三级小视频| 亚洲欧美一区二区三区久本道91| 国产女人18毛片水真多成人如厕 | 日韩午夜中文字幕| 久99久精品视频免费观看| 精品视频免费在线| 亚洲在线视频网站| 亚洲人成网站在线|