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

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

?? fat.c

?? 利用51單片機對u盤進行讀寫操作
?? C
字號:
#include "common.h"
#include "Fat.h"
#include "Fat32.h"
#include "SL811.H"
#include "TPBULK.H"
#include "HAL.H"
////////////////////////////////////////
extern SYS_INFO_BLOCK xdata DeviceInfo;
extern FILE_INFO xdata ThisFile;
extern unsigned char xdata DBUF[BUFFER_LENGTH];
unsigned char xdata FATBUF[512];
////////////////////////////////////////

unsigned long FirstSectorofCluster(unsigned int clusterNum)
{
	unsigned long temp;
	temp=clusterNum-2;
	temp=temp*DeviceInfo.BPB_SecPerClus;
	temp=temp+DeviceInfo.FirstDataSector;
	return temp;
}

unsigned int ThisFatSecNum(unsigned int clusterNum)
{
   unsigned int temp;
   temp=clusterNum*2;
   temp=temp/DeviceInfo.BPB_BytesPerSec;
   temp=temp+DeviceInfo.FatStartSector;
   return temp;
}

unsigned int ThisFatEntOffset(unsigned int clusterNum)
{
	unsigned int temp1,temp2;
	temp1=2*clusterNum;
	temp2=temp1/DeviceInfo.BPB_BytesPerSec;
	temp1=temp1-temp2*DeviceInfo.BPB_BytesPerSec;
	return temp1;
}

unsigned int GetNextClusterNum(unsigned int clusterNum)
{
	unsigned int FatSecNum,FatEntOffset;
	
	FatSecNum=ThisFatSecNum(clusterNum);
	FatEntOffset=ThisFatEntOffset(clusterNum);
	if(ThisFile.FatSectorPointer!=FatSecNum)
	{	
		
		if(!RBC_Read(FatSecNum,1,FATBUF))
			return 0xFFFF;
		ThisFile.FatSectorPointer=FatSecNum;
	}
	
	///////////////////////////////////////////////////
	clusterNum=FATBUF[FatEntOffset+1];
	clusterNum=clusterNum<<8;
	clusterNum+=FATBUF[FatEntOffset];	
	return clusterNum;
}

unsigned char GoToPointer(unsigned long pointer)
{
	
	unsigned int clusterSize;
	
	clusterSize=DeviceInfo.BPB_SecPerClus*DeviceInfo.BPB_BytesPerSec;
	ThisFile.ClusterPointer=ThisFile.StartCluster;
	while(pointer>clusterSize)
	{
		pointer-=clusterSize;	
		ThisFile.ClusterPointer=GetNextClusterNum(ThisFile.ClusterPointer);
		if(ThisFile.ClusterPointer==0xffff)
		{
		return FALSE;
		}
	}
	ThisFile.SectorofCluster=pointer/DeviceInfo.BPB_BytesPerSec;
	ThisFile.SectorPointer=FirstSectorofCluster(ThisFile.ClusterPointer)+ThisFile.SectorofCluster;
	ThisFile.OffsetofSector=pointer-ThisFile.SectorofCluster*DeviceInfo.BPB_BytesPerSec;
	ThisFile.FatSectorPointer=0;
	return TRUE;
	
}

unsigned char DeleteClusterLink(unsigned int clusterNum)
{
	unsigned int FatSecNum,FatEntOffset;
	unsigned char i;
	while((clusterNum>1)&&(clusterNum<0xfff0))
	{
	FatSecNum=ThisFatSecNum(clusterNum);
	FatEntOffset=ThisFatEntOffset(clusterNum);
	if(RBC_Read(FatSecNum,1,DBUF))
		{
		clusterNum=DBUF[FatEntOffset+1];
		clusterNum=clusterNum<<8;
		clusterNum+=DBUF[FatEntOffset];	
		}
	else
		return FALSE;
	DBUF[FatEntOffset]=0x00;
	DBUF[FatEntOffset+1]=0x00;	
	for(i=0;i<DeviceInfo.BPB_NumFATs;i++)
		{
		DelayMs(5);
		if(!RBC_Write(FatSecNum+i*DeviceInfo.BPB_FATSz16,1,DBUF))
			return FALSE;
		}	
	}
	return TRUE;
}

unsigned int GetFreeCusterNum(void)
{
	unsigned int clusterNum,i;
	unsigned long sectorNum;
	unsigned char j;
	clusterNum=0;
	sectorNum=DeviceInfo.FatStartSector;
	while(sectorNum<DeviceInfo.BPB_FATSz16+DeviceInfo.FatStartSector)
	{
		
		if(!RBC_Read(sectorNum,1,DBUF))
			return 0x0;
		for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+2)
		  	{
		  	 if((DBUF[i]==0)&&(DBUF[i+1]==0))
		  	 	{	
		  	 	DBUF[i]=0xff;
		  	 	DBUF[i+1]=0xff;
				for(j=0;j<DeviceInfo.BPB_NumFATs;j++)
					{
					DelayMs(5);
					if(!RBC_Write(sectorNum+j*DeviceInfo.BPB_FATSz16,1,DBUF))
						return FALSE;
					}	
		  	  	return	clusterNum; 
		  	 	}
		  	 clusterNum++;
		  	}	
				
		sectorNum=2*clusterNum/DeviceInfo.BPB_BytesPerSec+DeviceInfo.FatStartSector;	
		DelayMs(10);
	}
	
	return 0x0;
}

unsigned int CreateClusterLink(unsigned int currentCluster)
{
	unsigned int newCluster;
	unsigned int FatSecNum,FatEntOffset;
	unsigned char i;

	newCluster=GetFreeCusterNum();

	if(newCluster==0)
		return 0x00;
			
	FatSecNum=ThisFatSecNum(currentCluster);
	FatEntOffset=ThisFatEntOffset(currentCluster);
	if(RBC_Read(FatSecNum,1,DBUF))
		{
		DBUF[FatEntOffset]=newCluster;
		DBUF[FatEntOffset+1]=newCluster>>8;
		for(i=0;i<DeviceInfo.BPB_NumFATs;i++)
			{
			DelayMs(5);
			if(!RBC_Write(FatSecNum+i*DeviceInfo.BPB_FATSz16,1,DBUF))
				return FALSE;
			}		
		}
	else
		return 0x00;
	
	return newCluster;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕在线观看| 日韩**一区毛片| 亚洲一区二区欧美日韩| 久久er99精品| 在线中文字幕一区| 欧美不卡123| 一区二区三区日韩精品| 国产剧情一区在线| 欧美久久久久久久久中文字幕| 久久久精品国产免费观看同学| 亚洲高清中文字幕| 成人av电影在线播放| 精品人伦一区二区色婷婷| 亚洲自拍偷拍网站| av电影在线观看不卡| 久久久久成人黄色影片| 日本欧美肥老太交大片| 色综合中文综合网| 欧美理论电影在线| 亚洲视频 欧洲视频| 九九精品视频在线看| 在线观看亚洲精品| 亚洲欧美偷拍另类a∨色屁股| 精品一区二区久久| 欧美大片一区二区三区| 日本成人中文字幕在线视频| 欧美视频一区在线观看| 国产精品色噜噜| 成人性色生活片| 国产欧美精品区一区二区三区| 国产麻豆精品在线观看| 欧美成人精品福利| 美女视频黄久久| 日韩午夜在线观看| 美女www一区二区| 91精品婷婷国产综合久久性色| 午夜精品久久久久久久久| 欧美探花视频资源| 亚洲国产精品一区二区久久恐怖片 | 久久午夜免费电影| 韩国精品一区二区| 久久久精品国产免大香伊| 国产麻豆欧美日韩一区| 国产欧美日韩精品在线| 成人在线综合网| 亚洲视频 欧洲视频| 91精品1区2区| 日韩激情在线观看| 日韩精品在线网站| 国产成人在线视频网址| 国产精品拍天天在线| 色综合久久88色综合天天免费| 亚洲自拍偷拍麻豆| 欧美一级艳片视频免费观看| 激情图片小说一区| 国产精品美女久久久久av爽李琼 | 色综合色狠狠天天综合色| 亚洲欧美在线视频| 欧美日韩国产电影| 秋霞国产午夜精品免费视频| 国产色91在线| 欧洲国产伦久久久久久久| 日韩一级完整毛片| 国产福利一区二区三区在线视频| 欧美高清在线一区二区| 在线观看欧美精品| 久久成人18免费观看| 中文字幕国产一区二区| 欧美性色综合网| 国内精品视频666| 亚洲精品欧美综合四区| 日韩精品一区二区三区视频播放| 成人免费毛片a| 日韩精彩视频在线观看| 国产欧美视频一区二区| 欧美三区在线视频| 懂色一区二区三区免费观看| 亚洲一区中文在线| 久久久精品国产99久久精品芒果| 欧美综合视频在线观看| 国产一区在线视频| 亚洲成人免费av| 欧美激情一区二区在线| 91精品国产一区二区人妖| 成人黄色一级视频| 美女脱光内衣内裤视频久久影院| 国产精品国产三级国产有无不卡| 欧美一区二区网站| 欧美亚洲尤物久久| 成人av免费在线观看| 全部av―极品视觉盛宴亚洲| 亚洲欧美区自拍先锋| 久久精品视频在线看| 欧美一级二级三级蜜桃| 色婷婷亚洲精品| 成人动漫中文字幕| 国产在线视视频有精品| 日韩精品欧美成人高清一区二区| 亚洲少妇30p| 久久精品人人爽人人爽| 欧美一级片在线看| 欧美日韩国产片| 色婷婷久久一区二区三区麻豆| 成人黄页毛片网站| 国产精品白丝jk黑袜喷水| 免费在线观看日韩欧美| 日精品一区二区三区| 亚洲高清免费视频| 亚洲观看高清完整版在线观看| 一区免费观看视频| 日本不卡免费在线视频| 亚洲线精品一区二区三区八戒| 国产精品污网站| 精品福利一区二区三区| 日韩精品一区二区在线| 欧美一区二区福利在线| 欧美一区二区在线不卡| 69av一区二区三区| 欧美视频一区二区三区在线观看| 91美女精品福利| 色综合久久99| 色偷偷88欧美精品久久久| 色偷偷88欧美精品久久久| 99精品欧美一区二区蜜桃免费| www..com久久爱| 91色视频在线| 欧美日韩在线三区| 8v天堂国产在线一区二区| 日韩三级视频在线看| 精品国产三级电影在线观看| 国产丝袜欧美中文另类| 国产精品美女久久久久久久久| 中文字幕中文字幕在线一区| 亚洲人成亚洲人成在线观看图片| 亚洲人成精品久久久久| 亚洲综合一区二区三区| 日韩综合一区二区| 捆绑调教一区二区三区| 国产高清精品在线| 97久久精品人人做人人爽50路 | 石原莉奈在线亚洲三区| 乱一区二区av| 成人精品亚洲人成在线| 91成人网在线| 欧美电视剧免费全集观看| 国产精品拍天天在线| 亚洲一区二区五区| 日韩不卡免费视频| 国产成人精品免费看| 99精品黄色片免费大全| 欧美系列一区二区| 26uuu国产电影一区二区| 国产精品久久久久久久久果冻传媒 | 欧美视频一二三区| 日韩精品一区二区三区视频在线观看 | 欧美日韩在线播放一区| 日韩欧美色电影| 中文字幕永久在线不卡| 视频一区二区三区入口| 成人高清免费观看| 欧美一区中文字幕| 国产精品青草综合久久久久99| 亚洲成人1区2区| 国产成人综合亚洲网站| 欧美日韩另类一区| 亚洲国产成人一区二区三区| 午夜精品在线视频一区| 成人爽a毛片一区二区免费| 欧美伦理电影网| 18成人在线观看| 国内精品视频666| 欧美日韩激情一区二区三区| 国产精品嫩草影院av蜜臀| 日欧美一区二区| 色婷婷av一区二区| 久久精品日韩一区二区三区| 亚洲成av人在线观看| www.日本不卡| 国产亚洲欧美中文| 美女精品一区二区| 欧美巨大另类极品videosbest | 色欧美乱欧美15图片| 久久色视频免费观看| 午夜精品福利一区二区三区av| 99热精品国产| 久久九九国产精品| 老汉av免费一区二区三区| 欧美日韩精品欧美日韩精品 | 成人av在线资源网站| 精品美女一区二区三区| 亚洲成人一二三| 色综合久久久久久久| 国产精品免费视频网站| 国产米奇在线777精品观看| 日韩免费看的电影| 美美哒免费高清在线观看视频一区二区| 色婷婷综合久久久中文字幕| 亚洲色图制服诱惑| 欧美精品视频www在线观看| 亚洲综合图片区|