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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sddriver.h

?? SD卡開發(fā)源程序
?? H
字號:
/******************************************************************************************************
** Descriptions:		sd 卡驅(qū)動軟件包: 用戶API函數(shù)(頭文件)
********************************************************************************************************/

#ifndef 	__sddriver_h
#define 	__sddriver_h

/* SD卡信息結(jié)構(gòu)體定義 */ 
/* the information structure variable of SD Card*/
typedef struct SD_STRUCT
{	
	uint8 block_num;				/* 卡中塊的數(shù)量 */
	uint8 block_len;				/* 卡的塊長度(單位:字節(jié)) */
	uint8 erase_unit;				/* 一次可擦除的塊個數(shù) */
	
	uint8 timeout_read;				/* 讀塊超時時間(單位: 8 SPI clock) */
	uint8 timeout_write;			/* 寫塊超時時間(單位: 8 SPI clock) */
	uint8 timeout_erase;			/* 擦塊超時時間(單位: 8 SPI clock) */
	
}sd_struct;

extern sd_struct sds;				/* SD卡信息結(jié)構(gòu)體變量 */ 

		/*
		*************************************************************

				用戶API函數(shù):	讀, 寫, 擦 SD卡  API函數(shù)及錯誤碼
 			
		*************************************************************
		*/
		
/* 錯誤碼 error code */
#define   SD_NO_ERR			     	0x00			// 函數(shù)執(zhí)行成功
#define   SD_ERR_NO_CARD		 	0x01			// SD卡沒有完全插入到卡座中
#define   SD_ERR_USER_PARAM      	0x02			// 用戶使用API函數(shù)時,入口參數(shù)有錯誤
#define   SD_ERR_CARD_PARAM		 	0x03			// 卡中參數(shù)有錯誤(與本模塊不兼容)
#define	  SD_ERR_VOL_NOTSUSP        0x04			// 卡不支持3.3V供電
#define   SD_ERR_OVER_CARDRANGE		0x05			// 操作超出卡容量范圍

/* SD命令可能返回的錯誤碼 */
#define   SD_ERR_CMD_RESPTYPE	 	0x10			// 命令類型錯誤
#define   SD_ERR_CMD_TIMEOUT     	0x11			// SD命令響應(yīng)超時
#define   SD_ERR_CMD_RESP		 	0x12			// SD命令響應(yīng)錯誤
			
/* 數(shù)據(jù)流錯誤碼 */
#define   SD_ERR_DATA_CRC16      	0x20			// 數(shù)據(jù)流CRC16校驗不通過
#define   SD_ERR_DATA_START_TOK		0x21			// 讀單塊或多塊時,數(shù)據(jù)開始令牌不正確
#define	  SD_ERR_DATA_RESP		 	0x22			// 寫單塊或多塊時,SD卡數(shù)據(jù)響應(yīng)令牌不正確

/* 等待錯誤碼 */
#define   SD_ERR_TIMEOUT_WAIT    	0x30			// 寫或擦操作時,發(fā)生超時錯誤
#define   SD_ERR_TIMEOUT_READ    	0x31			// 讀操作超時錯誤
#define	  SD_ERR_TIMEOUT_WRITE	 	0x32			// 寫操作超時錯誤
#define   SD_ERR_TIMEOUT_ERASE   	0x33			// 擦除操作超時錯誤
#define	  SD_ERR_TIMEOUT_WAITIDLE 	0x34			// 初始化SD卡時,等待SD卡進(jìn)入空閑狀態(tài)超時錯誤

/* 寫操作可能返回的錯誤碼 */
#define	  SD_ERR_WRITE_BLK			0x40			// 寫塊數(shù)據(jù)錯誤
#define	  SD_ERR_WRITE_BLKNUMS      0x41			// 寫多塊時,想要寫入的塊與正確寫入的塊數(shù)不一致
#define   SD_ERR_WRITE_PROTECT		0x42			// 卡外殼的寫保護(hù)開關(guān)打在寫保護(hù)位置
	
		
/* 初始化SD卡 initialize sd card */
extern uint8 SD_Initialize(void);	
							
/* 從SD卡中讀一個塊 read a single block from sd card */
extern uint8 SD_ReadBlock(uint32 blockaddr, uint8 *recbuf);  

/* 從SD卡中讀多個塊	read multi blocks from sd card */																	
extern uint8 SD_ReadMultiBlock(uint32 blockaddr, uint32 blocknum, uint8 *recbuf); 
 
/* 向SD卡中寫入一個塊 write a block to sd card */               
extern uint8 SD_WriteBlock(uint32 blockaddr, uint8 *recbuf);  

/* 向SD卡中寫入多個塊 write multi blocks to sd card */  
extern uint8 SD_WriteMultiBlock(uint32 blockaddr, uint32 blocknum, uint8 *recbuf); 

/* 擦除SD卡中的塊 Erase the block of sd card */
extern uint8 SD_EraseBlock(uint32 startaddr, uint32 blocknum); 

/* 得到SD卡信息 get information of sd card */
extern uint8 SD_GetCardInfo(void);

/* 由CSD寄存器計算超時時間 calculate timeout from CSD register */
extern void SD_CalTimeout(uint8 *csdbuf);

/* 激活SD卡內(nèi)部進(jìn)行初始化處理 active sd to initialize process */
uint8 SD_ActiveInit(void);

	    /*
	    *************************************************************
	    
	     			下面為軟件包用到的與SD卡相關(guān)的宏定義
	     	
	    *************************************************************
	    */
	    	    	    
/* Mask off the bits in the OCR corresponding to voltage range 3.2V to
 * 3.4V, OCR bits 20 and 21 */
#define MSK_OCR_33			 	0xC0				//1100 0000B

/* 定義在初始化階段,等待SD卡退出空閑狀態(tài)的重試次數(shù) */
/* Number of tries to wait for the card to go idle during initialization */
#define SD_IDLE_WAIT_MAX     	1000

/* SD卡命令超時時間(單位 8clock)*/
/* timeout of command */
#define SD_CMD_TIMEOUT   	 	100
	
/* 100ms 相當(dāng)?shù)腟PI時鐘數(shù)(單位 unit: 8 clocks) */
/* 100ms correspond to SPI clock(unit: 8 clocks)*/
#define READ_TIMEOUT_100MS      100 * SPI_CLOCK / 1000 / 8

/* 250ms 相當(dāng)?shù)腟PI時鐘數(shù)(單位 unit: 8 clocks) */
/* 250ms correspond to SPI clock(unit: 8 clocks)*/
#define WRITE_TIMEOUT_250MS		250 * SPI_CLOCK / 1000 / 8    


/* CSD中一些域的字節(jié)位置(高字節(jié)在前) */
#define TAAC_POS 			1			//TACC
#define NSAC_POS			2			//NSAC

#define READ_BL_LEN_POS		5			//READ_BL_LEN

#define C_SIZE_POS1			6			//C_SIZE upper  2-bit
#define C_SIZE_POS2			7			//C_SIZE middle 8-bit
#define C_SIZE_POS3			8			//C_SIZE lower	2-bit

#define C_SIZE_MULT_POS1	9			//C_SIZE_MULT upper 2-bit
#define C_SIZE_MULT_POS2	10			//C_SIZE_MULT lower 1-bit	

#define SECTOR_SIZE_POS1	10			//SECTOR_SIZE upper 5-bit
#define SECTOR_SIZE_POS2	11			//SECTOR_SIZE lower 2-bit

#define R2WFACTOR_POS 		12			//R2WFACTOR_POS


//CSD中一些域的掩碼
#define TAAC_MSK			0x07		//TACC 域掩碼
#define NSAC_MSK			0x78		//NSAC 域掩碼

#define READ_BL_LEN_MSK		0x0F		//READ_BL_LEN 的掩碼

#define C_SIZE_MSK1			0x03		//C_SIZE 高2位掩碼
#define C_SIZE_MSK3			0xC0		//C_SIZE 低2位掩碼

#define C_SIZE_MULT_MSK1 	0x03		//C_SIZE_MULT 的高2位掩碼
#define C_SIZE_MULT_MSK2 	0x80		//C_SIZE_MULT 的低2位掩碼

#define R2WFACTOR_MSK		0x1C		//R2WFACTOR 掩碼

#define SECTOR_SIZE_MSK1	0x3F		//SECTOR_SIZE 的高5位
#define SECTOR_SIZE_MSK2	0x80		//SECTOR_SIZE 的低2位


#endif
                    

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精选视频在线| 91一区二区三区在线观看| 丁香一区二区三区| 日韩一区二区三区免费看| 国产精品国产馆在线真实露脸 | 国产乱码精品一区二区三| 色综合久久久久综合| 久久久久久久久久久久久久久99| 亚洲国产日韩精品| 91丨porny丨首页| 国产偷国产偷亚洲高清人白洁| 日韩成人dvd| 在线观看免费亚洲| 亚洲欧洲日产国码二区| 国产成人午夜精品影院观看视频| 欧美日高清视频| 亚洲综合成人在线视频| 91在线观看下载| 国产欧美日韩三级| 国产综合久久久久久久久久久久| 3751色影院一区二区三区| 亚洲欧美日韩精品久久久久| 成人动漫一区二区三区| 国产亚洲欧美日韩俺去了| 国产一区欧美日韩| 欧美哺乳videos| 久久国产精品99久久久久久老狼 | 欧美人体做爰大胆视频| 国产精品久久久久三级| 国产成人免费视频| 久久久综合九色合综国产精品| 蜜桃久久久久久| 欧美一区二区精美| 蜜臀精品一区二区三区在线观看| 91精品国产免费| 日韩av网站免费在线| 日韩一区二区在线观看视频播放| 日日夜夜精品视频天天综合网| 欧美日韩高清在线播放| 亚洲成a人片综合在线| 欧美日韩亚洲综合| 日韩国产高清影视| 精品福利一区二区三区免费视频| 久久国产精品72免费观看| 精品久久人人做人人爱| 韩国精品免费视频| 国产日韩欧美高清| 91捆绑美女网站| 亚洲国产成人av好男人在线观看| 欧美日韩和欧美的一区二区| 蜜臀av亚洲一区中文字幕| 精品剧情在线观看| 国产一区二区不卡| 亚洲视频资源在线| 欧美日韩成人一区二区| 久久99国产精品久久99果冻传媒| 久久美女高清视频| 2020国产成人综合网| 国产精品中文字幕一区二区三区| 国产精品免费人成网站| 在线免费观看成人短视频| 免费在线看成人av| 亚洲国产精品99久久久久久久久| 91免费观看视频| 午夜精品在线看| 久久久亚洲精品石原莉奈 | 国产91清纯白嫩初高中在线观看| 中文字幕在线一区免费| 欧美视频一区二| 国产激情一区二区三区| 亚洲第一在线综合网站| 国产欧美一区二区三区网站| 欧美日韩一区二区在线观看 | 91视频.com| 日日夜夜精品视频免费| 国产精品女主播在线观看| 欧美区在线观看| 国产69精品久久久久777| 视频一区二区国产| 中文字幕在线免费不卡| 中文字幕一区二区日韩精品绯色| 欧美精品自拍偷拍| 成人av免费在线观看| 老色鬼精品视频在线观看播放| 中文字幕在线播放不卡一区| 91精品国产一区二区| 99re8在线精品视频免费播放| 捆绑变态av一区二区三区| 亚洲精品视频一区| 中文字幕巨乱亚洲| 精品国产制服丝袜高跟| 欧美理论片在线| 欧美怡红院视频| a4yy欧美一区二区三区| 国产麻豆精品久久一二三| 日本va欧美va瓶| 亚洲小少妇裸体bbw| 亚洲日本在线观看| 亚洲视频在线一区观看| 中文字幕高清不卡| 久久久99久久| 久久久久久黄色| 久久在线观看免费| 精品av久久707| 精品久久一二三区| 欧美大片顶级少妇| 欧美r级在线观看| 91精品国产一区二区三区| 欧美日韩国产免费| 欧美四级电影在线观看| 91福利精品第一导航| 91日韩一区二区三区| 97国产精品videossex| 色综合久久综合网欧美综合网| 成人aa视频在线观看| 99国产精品视频免费观看| 99精品视频在线观看免费| 99精品桃花视频在线观看| 欧美电影免费观看高清完整版在线| 欧美色爱综合网| 51久久夜色精品国产麻豆| 3atv一区二区三区| 日韩精品一区二区三区四区视频| 日韩欧美国产电影| 精品成a人在线观看| 国产人久久人人人人爽| 国产精品丝袜久久久久久app| 日本一区二区免费在线| 中文字幕一区在线观看视频| 自拍偷自拍亚洲精品播放| 悠悠色在线精品| 五月天一区二区三区| 激情亚洲综合在线| 99视频精品免费视频| 欧美日韩一区二区三区视频 | 久久久久国色av免费看影院| 国产亚洲欧美一级| 亚洲欧美电影一区二区| 亚洲第一福利一区| 麻豆91免费观看| 成av人片一区二区| 欧美丝袜丝nylons| 日韩午夜精品电影| 欧美激情一二三区| 亚洲大片精品永久免费| 久久国产麻豆精品| 91影视在线播放| 制服视频三区第一页精品| 久久久久国产精品麻豆ai换脸| 亚洲欧美日韩国产另类专区| 日韩 欧美一区二区三区| 国v精品久久久网| 欧美日韩免费观看一区三区| xnxx国产精品| 亚洲在线一区二区三区| 国产激情91久久精品导航| 欧美在线免费视屏| 久久综合国产精品| 亚洲bt欧美bt精品| 成人午夜视频在线| 日韩欧美精品在线| 亚洲精品免费在线播放| 国产91丝袜在线播放九色| 这里只有精品免费| 亚洲专区一二三| 成人在线视频首页| 亚洲精品一区二区三区香蕉 | 国产制服丝袜一区| 欧美三级视频在线观看 | 精品国产123| 香蕉乱码成人久久天堂爱免费| 国产精品123| 欧美大尺度电影在线| 亚洲一区二区视频在线| 99久久777色| 国产精品久久久一区麻豆最新章节| 蜜桃精品在线观看| 欧美美女一区二区| 亚洲综合久久av| 91国内精品野花午夜精品| 国产精品二三区| 成人精品免费网站| 久久综合九色综合欧美98| 久久精品国产色蜜蜜麻豆| 欧美男同性恋视频网站| 亚洲精品国产精华液| 91免费看`日韩一区二区| 日本一区二区视频在线| 国产xxx精品视频大全| 久久久精品蜜桃| 国产精品18久久久久久vr| 久久综合久久99| 极品少妇xxxx精品少妇| 日韩女优电影在线观看| 美女在线视频一区| 精品国产麻豆免费人成网站| 日本va欧美va瓶| 精品三级av在线| 国产九色sp调教91| 国产午夜精品一区二区三区视频|