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

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

?? ch374hff.h

?? 這是使用MSP430通過CH375芯片讀寫USB外設的C語言程序,已經編譯通過,沒有問題,讀者可以提高修改相應端口來符合自己的器件
?? H
?? 第 1 頁 / 共 4 頁
字號:
#endif

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

/* ********************************************************************************************************************* */
/* 常用USB結構和相關常量 */

/* 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			/* 設備類請求 */
#define	DEF_USB_REQ_VENDOR		0x40			/* 廠商請求 */
#define	DEF_USB_REQ_RESERVE		0x60			/* 保留請求 */
#endif

/* USB標準設備請求, 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

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

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

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

/* FAT數據區中文件目錄信息 */
typedef struct _FAT_DIR_INFO {
	UINT8	DIR_Name[11];				/* 00H,文件名,共11字節,不足處填空格 */
	UINT8	DIR_Attr;					/* 0BH,文件屬性,參考前面的說明 */
	UINT8	DIR_NTRes;					/* 0CH */
	UINT8	DIR_CrtTimeTenth;			/* 0DH,文件創建的時間,以0.1秒單位計數 */
	UINT16	DIR_CrtTime;				/* 0EH,文件創建的時間 */
	UINT16	DIR_CrtDate;				/* 10H,文件創建的日期 */
	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	/* 文件為系統屬性 */
#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 */
/*  只   隱   系   卷   目   存   未定義   */
/*  讀   藏   統   標   錄   檔            */
/* 文件時間 UINT16 */
/* Time = (Hour<<11) + (Minute<<5) + (Second>>1) */
#define MAKE_FILE_TIME( h, m, s )	( (h<<11) + (m<<5) + (s>>1) )	/* 生成指定時分秒的文件時間數據 */
/* 文件日期 UINT16 */
/* Date = ((Year-1980)<<9) + (Month<<5) + Day */
#define MAKE_FILE_DATE( y, m, d )	( ((y-1980)<<9) + (m<<5) + d )	/* 生成指定年月日的文件日期數據 */

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

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠久久亚洲欧美| 亚洲福利国产精品| 日韩欧美123| 69av一区二区三区| 91精品国产麻豆国产自产在线 | 亚洲人成在线播放网站岛国| 亚洲精品在线观看网站| 日韩精品一区二区三区中文不卡 | 日韩一区二区三区在线观看| 欧美乱妇一区二区三区不卡视频| 91精品办公室少妇高潮对白| 91麻豆国产精品久久| 色婷婷国产精品久久包臀| 色网站国产精品| 欧美性色综合网| 欧美三级日韩在线| 日韩欧美一区二区免费| 精品国产1区二区| 欧美极品另类videosde| 国产精品国产三级国产有无不卡 | 777a∨成人精品桃花网| 日韩欧美一区中文| 国产精品免费丝袜| 亚洲综合色噜噜狠狠| 日韩电影免费在线| 国产一区二区三区精品视频| 成人毛片在线观看| 欧美性猛片xxxx免费看久爱| 日韩精品一区二区在线观看| 国产精品久久久久aaaa| 亚瑟在线精品视频| 国产另类ts人妖一区二区| 波多野结衣的一区二区三区| 欧美日韩精品一区二区| 2023国产精品自拍| 亚洲一线二线三线久久久| 六月丁香婷婷久久| 91年精品国产| 久久在线观看免费| 亚洲午夜精品在线| 国产.欧美.日韩| 欧美精品xxxxbbbb| 亚洲欧洲日韩在线| 国产综合色产在线精品| 欧美日韩一区精品| 国产精品成人一区二区艾草| 日韩精品一区第一页| 91麻豆国产福利在线观看| 欧美精品一区二区三区很污很色的| 亚洲欧美精品午睡沙发| 91色综合久久久久婷婷| 5858s免费视频成人| 最新欧美精品一区二区三区| 国产在线不卡一区| 91精品午夜视频| 一区二区欧美在线观看| 国产成人8x视频一区二区| 欧美一区二区三区男人的天堂| 亚洲男人天堂av| 成人午夜私人影院| 欧美精品一区二区三区蜜桃视频| 日韩国产成人精品| 精品视频一区二区三区免费| 日韩美女精品在线| 成人精品免费看| 久久久国产一区二区三区四区小说 | 久久精品夜夜夜夜久久| 日本女人一区二区三区| 欧美色中文字幕| 亚洲激情在线播放| 91亚洲国产成人精品一区二三| 国产日产亚洲精品系列| 韩国理伦片一区二区三区在线播放| 正在播放一区二区| 天天操天天综合网| 在线播放91灌醉迷j高跟美女 | 91精品啪在线观看国产60岁| 亚洲大型综合色站| 欧美日韩在线一区二区| 亚洲综合免费观看高清完整版 | 日本成人在线不卡视频| 欧美少妇一区二区| 视频在线在亚洲| 欧美一区永久视频免费观看| 日韩avvvv在线播放| 日韩午夜在线观看| 国产精品亚洲а∨天堂免在线| 亚洲福利一区二区| 欧美日韩国产123区| 性做久久久久久免费观看| 91精品国产综合久久久久久久久久 | 国产精品一区免费视频| 久久久精品tv| 91麻豆免费视频| 亚洲高清视频在线| 91麻豆精品国产无毒不卡在线观看| 日本不卡1234视频| 久久久夜色精品亚洲| av爱爱亚洲一区| 亚洲国产一区视频| 日韩精品中午字幕| www.爱久久.com| 亚洲va国产天堂va久久en| 欧美电影免费观看高清完整版在线 | 欧美三级视频在线观看| 久久er精品视频| 欧美国产亚洲另类动漫| 色婷婷精品大在线视频| 日韩精品亚洲专区| 日本一区二区三区电影| 欧美怡红院视频| 国产一区啦啦啦在线观看| 亚洲欧美日韩人成在线播放| 日韩三级视频在线看| 成人网在线免费视频| 日韩av午夜在线观看| 中文一区在线播放| 欧美少妇一区二区| 国产69精品久久777的优势| 午夜欧美在线一二页| 欧美精品一区二区三区蜜桃视频 | 亚洲一区二区av在线| 日韩精品在线网站| 在线精品视频一区二区三四| 国产寡妇亲子伦一区二区| 丝袜美腿一区二区三区| 国产精品毛片久久久久久| 欧美一级免费观看| 色婷婷精品久久二区二区蜜臀av | 一区二区三区在线免费视频| 久久综合色播五月| 欧美日韩国产高清一区| 91片黄在线观看| 国产aⅴ综合色| 久久99精品久久久久久国产越南| 亚洲va欧美va国产va天堂影院| 亚洲欧洲无码一区二区三区| 久久久91精品国产一区二区精品| 欧美日韩精品一区二区在线播放| aaa亚洲精品| 丁香婷婷深情五月亚洲| 韩国精品一区二区| 青青草原综合久久大伊人精品优势| 一区二区三区四区不卡在线| 国产精品国产三级国产普通话蜜臀 | 欧美性一二三区| 色综合久久99| 一本大道久久a久久精品综合| 成人自拍视频在线观看| 国产一区二区三区日韩| 国产一区二区91| 国产尤物一区二区| 国产福利精品导航| 韩国精品主播一区二区在线观看| 激情五月婷婷综合| 国内成人免费视频| 国产老妇另类xxxxx| 国产精品996| 成人v精品蜜桃久久一区| 成人国产精品免费观看动漫| av不卡免费在线观看| 成人精品视频网站| 99久久99精品久久久久久| 91丨porny丨最新| 欧美亚洲一区二区三区四区| 欧美视频一区二| 日韩一区二区三区在线视频| 精品国产污污免费网站入口| 久久九九久久九九| 亚洲欧洲另类国产综合| 亚洲综合久久av| 日韩综合在线视频| 国产九色sp调教91| 成人少妇影院yyyy| 欧美婷婷六月丁香综合色| 欧美日韩国产一级片| 精品日韩一区二区三区免费视频| 久久你懂得1024| 亚洲女同女同女同女同女同69| 亚洲影视资源网| 激情综合色综合久久综合| 成人av午夜电影| 欧美久久免费观看| 久久精品一二三| 亚洲无人区一区| 国产精品一区在线| 精品视频一区二区不卡| 欧美成人在线直播| 最新高清无码专区| 免费高清在线视频一区·| 成人免费观看男女羞羞视频| 欧美日韩在线一区二区| 国产女人aaa级久久久级| 亚洲无线码一区二区三区| 国产盗摄视频一区二区三区| 欧美午夜精品久久久久久超碰 | 成人黄色大片在线观看| 欧美高清hd18日本| 国产精品毛片a∨一区二区三区| 亚洲成av人片在线观看无码|