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

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

?? ch374hfm.h

?? CH374 USB-HOST文件系統(tǒng)單片機子程序庫
?? H
?? 第 1 頁 / 共 4 頁
字號:

/* 以下狀態(tài)代碼1XH用于USB主機方式的操作狀態(tài)代碼, 可以自行定義任意值,下面的定義僅為了兼容CH375 */
#ifndef	USB_INT_SUCCESS
#define	USB_INT_SUCCESS		0x14			/* USB事務(wù)或者傳輸操作成功 */
#define	USB_INT_CONNECT		0x15			/* 檢測到USB設(shè)備連接事件 */
#define	USB_INT_DISCONNECT	0x16			/* 檢測到USB設(shè)備斷開事件 */
#define	USB_INT_BUF_OVER	0x17			/* USB控制傳輸?shù)臄?shù)據(jù)太多, 緩沖區(qū)溢出 */
#define	USB_INT_DISK_ERR	0x1F			/* USB存儲器操作失敗 */
#endif
#ifndef	USB_INT_CONNECT_LS
#define	USB_INT_CONNECT_LS	0x13			/* 檢測到低速USB設(shè)備連接事件 */
#endif

/* ********************************************************************************************************************* */
/* 常用USB結(jié)構(gòu)和相關(guān)常量 */

/* USB請求類型 */
#ifndef	DEF_USB_REQ_TYPE
#define	DEF_USB_REQ_READ		0x80			/* 控制讀操作 */
#define	DEF_USB_REQ_WRITE		0x00			/* 控制寫操作 */
#define	DEF_USB_REQ_TYPE		0x60			/* 控制請求類型 */
#define	DEF_USB_REQ_STAND		0x00			/* 標準請求 */
#define	DEF_USB_REQ_CLASS		0x20			/* 設(shè)備類請求 */
#define	DEF_USB_REQ_VENDOR		0x40			/* 廠商請求 */
#define	DEF_USB_REQ_RESERVE		0x60			/* 保留請求 */
#endif

/* USB標準設(shè)備請求, RequestType的位6位5=00(Standard) */
#ifndef	DEF_USB_GET_DESCR
#define	DEF_USB_CLR_FEATURE		0x01
#define	DEF_USB_SET_FEATURE		0x03
#define	DEF_USB_GET_STATUS		0x00
#define	DEF_USB_SET_ADDRESS		0x05
#define	DEF_USB_GET_DESCR		0x06
#define	DEF_USB_SET_DESCR		0x07
#define	DEF_USB_GET_CONFIG		0x08
#define	DEF_USB_SET_CONFIG		0x09
#define	DEF_USB_GET_INTERF		0x0A
#define	DEF_USB_SET_INTERF		0x0B
#define	DEF_USB_SYNC_FRAME		0x0C
#endif

/* 描述符類型 */
#ifndef	USB_DEVICE_DESCR_TYPE
#define	USB_DEVICE_DESCR_TYPE		0x01
#define	USB_CONFIG_DESCR_TYPE		0x02
#define	USB_STRING_DESCR_TYPE		0x03
#define	USB_INTERF_DESCR_TYPE		0x04
#define	USB_ENDP_DESCR_TYPE			0x05
#define	USB_POWER_DESCR_TYPE		0x06
#define	USB_HID_DESCR_TYPE			0x21
#define	USB_REPORT_DESCR_TYPE		0x22
#define	USB_PHYSIC_DESCR_TYPE		0x23
#endif

/* 端點類型和屬性 */
#ifndef	USB_ENDP_TYPE_MASK
#define USB_ENDP_DIR_MASK			0x80
#define USB_ENDP_TYPE_MASK			0x03
#define USB_ENDP_TYPE_CTRL			0x00
#define USB_ENDP_TYPE_ISOCH			0x01
#define USB_ENDP_TYPE_BULK			0x02
#define	USB_ENDP_TYPE_INTER			0x03
#endif

/* 設(shè)備類別 */
#ifndef	USB_DEV_CLASS_HUB
#define	USB_DEV_CLASS_RESERVED		0x00
#define	USB_DEV_CLASS_AUDIO			0x01
#define	USB_DEV_CLASS_COMMUNIC		0x02
#define	USB_DEV_CLASS_HUMAN_IF		0x03
#define	USB_DEV_CLASS_MONITOR		0x04
#define	USB_DEV_CLASS_PHYSIC_IF		0x05
#define	USB_DEV_CLASS_POWER			0x06
#define	USB_DEV_CLASS_PRINTER		0x07
#define	USB_DEV_CLASS_STORAGE		0x08
#define	USB_DEV_CLASS_HUB			0x09
#define	USB_DEV_CLASS_VEN_SPEC		0xFF
#endif

#define	DEFAULT_ENDP0_SIZE	8				/* 默認的端點0最大包長度 */

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

/* FILE: CH374HF.H */

typedef unsigned char                BOOL1;

#ifndef UINT8
typedef unsigned char                UINT8;
#endif
#ifndef UINT16
typedef unsigned short               UINT16;
#endif
#ifndef UINT32
typedef unsigned long                UINT32;
#endif
#ifndef PUINT8
typedef unsigned char               *PUINT8;
#endif
#ifndef PUINT16
typedef unsigned short              *PUINT16;
#endif
#ifndef PUINT32
typedef unsigned long               *PUINT32;
#endif
#ifndef PUINT8C
typedef const unsigned char         *PUINT8C;
#endif
#ifndef UINT8V
typedef unsigned char volatile       UINT8V;
#endif

/* 錯誤碼 */
#define ERR_SUCCESS				0x00	/* 操作成功 */
#define ERR_CH374_ERROR			0x81	/* CH374硬件錯誤,可能需要復(fù)位CH374 */
#define ERR_DISK_DISCON			0x82	/* 磁盤尚未連接,可能磁盤已經(jīng)斷開 */
#define ERR_STATUS_ERR			0x83	/* 磁盤狀態(tài)錯誤,可能正在連接或者斷開磁盤 */
#define ERR_HUB_PORT_FREE		0x84	/* USB-HUB已經(jīng)連接但是HUB端口尚未連接磁盤,可能磁盤已經(jīng)斷開 */
#define ERR_MBR_ERROR			0x91	/* 磁盤的主引導記錄無效,可能磁盤尚未分區(qū)或者尚未格式化 */
#define ERR_TYPE_ERROR			0x92	/* 磁盤分區(qū)類型不支持,只支持FAT12/FAT16/BigDOS/FAT32,需要由磁盤管理工具重新分區(qū) */
#define ERR_BPB_ERROR			0xA1	/* 磁盤尚未格式化,或者參數(shù)錯誤,需要由WINDOWS采用默認參數(shù)重新格式化 */
#define ERR_TOO_LARGE			0xA2	/* 磁盤非正常格式化并且容量大于4GB,或者容量大于250GB,需要由WINDOWS采用默認參數(shù)重新格式化 */
#define ERR_FAT_ERROR			0xA3	/* 磁盤的文件系統(tǒng)不支持,只支持FAT12/FAT16/FAT32,需要由WINDOWS采用默認參數(shù)重新格式化 */
#define ERR_DISK_FULL			0xB1	/* 磁盤文件太滿,剩余空間太少或者已經(jīng)沒有,需要磁盤整理 */
#define ERR_FDT_OVER			0xB2	/* 目錄內(nèi)文件太多,沒有空閑的目錄項,FAT12/FAT16根目錄下的文件數(shù)應(yīng)該少于500個,需要磁盤整理 */
#define ERR_MISS_DIR			0xB3	/* 指定路徑的某個子目錄沒有找到,可能是目錄名稱錯誤 */
#define ERR_FILE_CLOSE			0xB4	/* 文件已經(jīng)關(guān)閉,如果需要使用,應(yīng)該重新打開文件 */
#define ERR_OPEN_DIR			0x41	/* 指定路徑的目錄被打開 */
#define ERR_MISS_FILE			0x42	/* 指定路徑的文件沒有找到,可能是文件名稱錯誤 */
#define ERR_FOUND_NAME			0x43	/* 搜索到與通配符相匹配的文件名,文件名及其完整路徑在命令緩沖區(qū)中,如果需要使用,應(yīng)該打開該文件 */
/* 代碼2XH-3XH用于USB主機方式的通訊失敗代碼,由CH374子程序模仿CH375的返回 */
/* 代碼1XH用于USB主機方式的操作狀態(tài)代碼,由CH374子程序模仿CH375的返回 */
#define	ERR_USB_CONNECT_LS		0x13	/* 檢測到低速USB設(shè)備連接事件 */
#define	ERR_USB_CONNECT			0x15	/* 檢測到USB設(shè)備連接事件,磁盤已經(jīng)連接 */
#define	ERR_USB_DISCON			0x16	/* 檢測到USB設(shè)備斷開事件,磁盤已經(jīng)斷開 */
#define	ERR_USB_DISK_ERR		0x1F	/* USB存儲器操作失敗,在初始化時可能是USB存儲器不支持,在讀寫操作中可能是磁盤損壞或者已經(jīng)斷開 */
/* 以下狀態(tài)代碼為特殊事件中斷 */
#define	USB_INT_USB_SUSPEND		0x05	/* USB總線掛起事件 */
#define	USB_INT_WAKE_UP			0x06	/* 從睡眠中被喚醒事件 */

/* 磁盤及文件狀態(tài) */
#define DISK_UNKNOWN			0x00	/* 尚未初始化,未知狀態(tài) */
#define DISK_DISCONNECT			0x01	/* 磁盤沒有連接或者已經(jīng)斷開 */
#define DISK_CONNECT			0x02	/* 磁盤已經(jīng)連接,但是尚未初始化或者無法識別該磁盤 */
#define DISK_MOUNTED			0x03	/* 磁盤已經(jīng)初始化成功,但是尚未分析文件系統(tǒng)或者文件系統(tǒng)不支持 */
#define DISK_READY				0x10	/* 已經(jīng)分析磁盤的文件系統(tǒng)并且能夠支持 */
#define DISK_OPEN_ROOT			0x12	/* 已經(jīng)打開根目錄,扇區(qū)模式,只能以扇區(qū)為單位讀寫目錄的內(nèi)容,使用后必須關(guān)閉,注意FAT12/FAT16根目錄是固定長度 */
#define DISK_OPEN_DIR			0x13	/* 已經(jīng)打開子目錄,扇區(qū)模式,只能以扇區(qū)為單位讀寫目錄的內(nèi)容 */
#define DISK_OPEN_FILE			0x14	/* 已經(jīng)打開文件,扇區(qū)模式,可以以扇區(qū)為單位進行數(shù)據(jù)讀寫 */
#define DISK_OPEN_FILE_B		0x15	/* 已經(jīng)打開文件,字節(jié)模式,可以以字節(jié)為單位進行數(shù)據(jù)讀寫 */

/* FAT類型標志 */
#define DISK_FS_UNKNOWN			0		/* 未知的文件系統(tǒng) */
#define DISK_FAT12				1		/* FAT12文件系統(tǒng) */
#define DISK_FAT16				2		/* FAT16文件系統(tǒng) */
#define DISK_FAT32				3		/* FAT32文件系統(tǒng) */

/* FAT數(shù)據(jù)區(qū)中文件目錄信息 */
typedef struct _FAT_DIR_INFO {
	UINT8	DIR_Name[11];				/* 00H,文件名,共11字節(jié),不足處填空格 */
	UINT8	DIR_Attr;					/* 0BH,文件屬性,參考前面的說明 */
	UINT8	DIR_NTRes;					/* 0CH */
	UINT8	DIR_CrtTimeTenth;			/* 0DH,文件創(chuàng)建的時間,以0.1秒單位計數(shù) */
	UINT16	DIR_CrtTime;				/* 0EH,文件創(chuàng)建的時間 */
	UINT16	DIR_CrtDate;				/* 10H,文件創(chuàng)建的日期 */
	UINT16	DIR_LstAccDate;				/* 12H,最近一次存取操作的日期 */
	UINT16	DIR_FstClusHI;				/* 14H */
	UINT16	DIR_WrtTime;				/* 16H,文件修改時間,參考前面的宏MAKE_FILE_TIME */
	UINT16	DIR_WrtDate;				/* 18H,文件修改日期,參考前面的宏MAKE_FILE_DATA */
	UINT16	DIR_FstClusLO;				/* 1AH */
	UINT32	DIR_FileSize;				/* 1CH,文件長度 */
} FAT_DIR_INFO;							/* 20H */

typedef FAT_DIR_INFO *P_FAT_DIR_INFO;

/* 文件屬性 */
#define ATTR_READ_ONLY			0x01	/* 文件為只讀屬性 */
#define ATTR_HIDDEN				0x02	/* 文件為隱含屬性 */
#define ATTR_SYSTEM				0x04	/* 文件為系統(tǒng)屬性 */
#define ATTR_VOLUME_ID			0x08	/* 卷標 */
#define ATTR_DIRECTORY			0x10	/* 子目錄 */
#define ATTR_ARCHIVE			0x20	/* 文件為存檔屬性 */
#define ATTR_LONG_NAME			( ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID )
/* 文件屬性 UINT8 */
/* bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 */
/*  只   隱   系   卷   目   存   未定義   */
/*  讀   藏   統(tǒng)   標   錄   檔            */
/* 文件時間 UINT16 */
/* Time = (Hour<<11) + (Minute<<5) + (Second>>1) */
#define MAKE_FILE_TIME( h, m, s )	( (h<<11) + (m<<5) + (s>>1) )	/* 生成指定時分秒的文件時間數(shù)據(jù) */
/* 文件日期 UINT16 */
/* Date = ((Year-1980)<<9) + (Month<<5) + Day */
#define MAKE_FILE_DATE( y, m, d )	( ((y-1980)<<9) + (m<<5) + d )	/* 生成指定年月日的文件日期數(shù)據(jù) */

/* 文件名 */
#define PATH_WILDCARD_CHAR		0x2A	/* 路徑名的通配符 '*' */
#define PATH_SEPAR_CHAR1		0x5C	/* 路徑名的分隔符 '\' */
#define PATH_SEPAR_CHAR2		0x2F	/* 路徑名的分隔符 '/' */
#ifndef MAX_PATH_LEN
#define MAX_PATH_LEN			30		/* 最大路徑長度,含所有斜杠分隔符和小數(shù)點間隔符以及路徑結(jié)束符00H */
#endif
#ifndef MAX_BYTE_IO
#define MAX_BYTE_IO		( MAX_PATH_LEN - 1 )	/* 以字節(jié)為單位單次讀寫文件時的最大長度,超過該長度可以分多次讀寫 */
#endif

/* 外部命令參數(shù) */
typedef union _CMD_PARAM {
	struct {
		UINT8	mBuffer[ MAX_PATH_LEN ];
	} Other;
	struct {
		UINT32	mDiskSizeSec;			/* 返回: 整個物理磁盤的總扇區(qū)數(shù) */
		UINT32	mTotalSector;			/* 返回: 當前邏輯盤的總扇區(qū)數(shù) */
		UINT32	mFreeSector;			/* 返回: 當前邏輯盤的剩余扇區(qū)數(shù) */
		UINT8	mDiskFat;				/* 返回: 當前邏輯盤的FAT類型 */
	} Query;							/* CMD_DiskQuery, 查詢磁盤信息 */
	struct {
		UINT8	mPathName[ MAX_PATH_LEN ];	/* 輸入?yún)?shù): 路徑: [盤符,冒號,斜杠,目錄名或者文件名及擴展名...,結(jié)束符00H], 其中盤符和冒號可以省略, 例如"C:\DIR1.EXT\DIR2\FILENAME.EXT",00H */
	} Open;								/* CMD_FileOpen, 打開文件 */
	struct {
		UINT8	mPathName[ MAX_PATH_LEN ];	/* 輸入?yún)?shù): 路徑: [盤符,冒號,斜杠,目錄名或者文件名及擴展名(含通配符*)...,枚舉序號], 其中盤符和冒號可以省略, 例如"C:\DIR1.EXT\DIR2\FILE*",00H */
	} Enumer;							/* CMD_FileEnumer, 枚舉文件,返回文件名 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区在线播放| 欧美在线你懂的| 99在线精品免费| 欧美日韩亚洲综合一区| 欧美一区二区女人| 久久一夜天堂av一区二区三区 | 青草国产精品久久久久久| 精品一二三四在线| 99精品黄色片免费大全| 3d成人动漫网站| 国产欧美日韩视频一区二区| 亚洲国产精品久久人人爱| 国产综合久久久久影院| 91精彩视频在线| 2021中文字幕一区亚洲| 亚洲黄色免费网站| 精品写真视频在线观看| 色婷婷狠狠综合| 精品免费国产一区二区三区四区| 亚洲欧洲日韩综合一区二区| 欧美aaaaa成人免费观看视频| 成人av网站在线| 日韩视频免费观看高清完整版在线观看 | 亚洲国产精品成人久久综合一区| 亚洲午夜久久久久久久久久久| 精东粉嫩av免费一区二区三区| 色欧美日韩亚洲| 精品国产麻豆免费人成网站| 亚洲一区在线免费观看| 成人免费黄色在线| 欧美一二三在线| 一区二区三区四区av| 国产伦精品一区二区三区免费迷| 欧美乱妇15p| 亚洲少妇30p| 国产精品一区二区在线观看网站| 欧美少妇一区二区| 中文字幕一区二区三区在线观看| 精品一区二区三区视频| 欧美日韩成人一区| 一区二区三区四区在线播放| 成人在线视频首页| 日韩精品一区二区三区四区视频| 亚洲自拍偷拍欧美| 99精品国产99久久久久久白柏| 精品国产髙清在线看国产毛片| 亚洲国产综合人成综合网站| 99视频国产精品| 中文字幕国产精品一区二区| 久久国产麻豆精品| 7777精品伊人久久久大香线蕉 | 91成人国产精品| 中文字幕乱码日本亚洲一区二区| 精品一区中文字幕| 91精品国产综合久久精品麻豆| 亚洲午夜私人影院| 色综合一区二区三区| 国产精品乱码一区二区三区软件| 国产精品一区一区| 久久久久国产精品人| 久久99日本精品| 日韩精品专区在线影院重磅| 日本欧美在线看| 欧美精品一级二级| 午夜影视日本亚洲欧洲精品| 欧美午夜片在线看| 亚洲国产视频一区| 欧美日韩一区三区四区| 午夜电影久久久| 欧美日韩午夜在线| 五月激情综合网| 欧美一区二区高清| 美女视频黄 久久| 亚洲精品一区二区三区影院| 久草热8精品视频在线观看| 日韩午夜在线影院| 精品一区二区久久| 久久精品一区八戒影视| 国产成人免费在线| 国产精品美女久久久久高潮| av亚洲精华国产精华精| 亚洲婷婷国产精品电影人久久| 91蜜桃免费观看视频| 亚洲一区免费在线观看| 欧美亚洲一区二区在线观看| 婷婷一区二区三区| 欧美一级二级三级乱码| 国产在线视频不卡二| 久久久亚洲午夜电影| 成人精品免费看| 激情综合亚洲精品| 日本一区二区免费在线| 不卡在线观看av| 亚洲一区在线视频| 欧美一区二区在线播放| 激情综合一区二区三区| 国产精品伦一区二区三级视频| aa级大片欧美| 亚洲成人精品在线观看| 精品三级av在线| 成年人午夜久久久| 亚洲一区在线看| 日韩精品中文字幕一区二区三区| 国产高清精品在线| 一区二区三区91| 欧美一级欧美三级在线观看| 欧美日韩高清一区二区三区| 日本不卡视频一二三区| 国产视频一区二区在线| 色综合久久久网| 美女尤物国产一区| 国产精品亲子伦对白| 欧美色综合久久| 黑人精品欧美一区二区蜜桃| 一区精品在线播放| 欧美美女视频在线观看| 国产高清无密码一区二区三区| 伊人色综合久久天天人手人婷| 日韩一二三四区| 99这里只有久久精品视频| 午夜成人免费视频| 国产精品丝袜91| 91精品婷婷国产综合久久性色| 国产成人精品一区二| 亚洲成av人片一区二区| 欧美激情综合网| 在线播放欧美女士性生活| 风流少妇一区二区| 日韩激情视频网站| 成人欧美一区二区三区小说| 日韩午夜精品电影| 一本一道久久a久久精品| 久久99精品国产麻豆婷婷洗澡| 欧美日韩亚洲综合在线| 久久精品久久久精品美女| 亚洲精品欧美综合四区| 久久精品人人做| 欧美精品一卡二卡| 色综合婷婷久久| 国产传媒欧美日韩成人| 日韩高清不卡一区二区三区| 中文字幕一区二区在线播放| 精品国产免费一区二区三区四区| 欧美性色综合网| 成人精品小蝌蚪| 狠狠狠色丁香婷婷综合久久五月| 亚洲国产另类精品专区| 成人欧美一区二区三区白人| 久久人人97超碰com| 777奇米四色成人影色区| 色婷婷狠狠综合| av一区二区久久| 国产成人免费9x9x人网站视频| 蜜桃精品视频在线| 亚洲国产一区二区视频| 综合亚洲深深色噜噜狠狠网站| 久久综合成人精品亚洲另类欧美| 欧美精品久久久久久久久老牛影院| 色综合视频一区二区三区高清| 成人美女在线观看| 激情综合网天天干| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲成人三级小说| 又紧又大又爽精品一区二区| 国产精品美女久久久久久| 国产午夜精品福利| 精品少妇一区二区三区视频免付费 | 正在播放一区二区| 欧美色电影在线| 在线免费观看一区| 91丨九色丨黑人外教| av资源站一区| 成人国产一区二区三区精品| 国产高清精品在线| 国产成人免费9x9x人网站视频| 国产麻豆成人精品| 国产精品综合一区二区| 精品亚洲aⅴ乱码一区二区三区| 麻豆久久一区二区| 狂野欧美性猛交blacked| 秋霞午夜鲁丝一区二区老狼| 日韩av成人高清| 免费看日韩a级影片| 青青草97国产精品免费观看| 蜜桃久久久久久| 精品一区二区三区视频| 国精产品一区一区三区mba桃花 | 久久九九国产精品| 久久人人97超碰com| 国产午夜精品理论片a级大结局 | 成人午夜碰碰视频| 成人免费视频一区二区| 成人性生交大片免费看在线播放| 成人av资源网站| 色视频欧美一区二区三区| 在线免费观看不卡av| 在线电影一区二区三区| 欧美一级欧美三级在线观看 | 粗大黑人巨茎大战欧美成人| 成人黄色综合网站|