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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? host_811.h

?? usb 的固件源代碼
?? H
字號(hào):
////////////////////////////////////////////////////////////////////////////////
//	File:		host_811.h
//
// $Header: /USB/ez811/firmware/Emb_Host/host_811.h 6     5/14/02 8:37p Tpm $
// Copyright (c) 2002 Cypress Semiconductor. May not be reproduced without permission.
// See the license agreement for more details.
////////////////////////////////////////////////////////////////////////////////

typedef unsigned char	BYTE;
typedef unsigned int	WORD;
typedef unsigned long   LWORD;
typedef bit				BOOL;


#define NULL		0
#define TRUE   		1
#define FALSE  		0
#define ISO_BIT     0x10
#define MAX_DEV    	0x2     // maximum number of devices (Address #0 + Slave + 4 Hub's device)
#define MAX_EP    	0x05     // maximum number of endpoints (Ep0 + max of 4 data endpoints)

//*****************************************************************************************
// Constant Defines
//*****************************************************************************************
#define TIMEOUT_RETRY		0x06	// Maximum no. of timeout retry during USB xfer

typedef struct
{
    WORD  wVID, wPID;       // Vendor ID and Product ID
    BYTE  bClass;           // 
    BYTE  bNumOfEPs;        // actual number endpoint from slave
    BYTE  iMfg;				// Manufacturer ID
    BYTE  iPdt;				// Product ID
    BYTE  bId1;
    BYTE  bId2;
    BYTE  bEPAddr[MAX_EP];   // bit 7 = 1 = use PID_IN, 
    BYTE  bAttr[MAX_EP];     // ISO | Bulk | Interrupt | Control
    WORD  wPayLoad[MAX_EP];  // ISO range: 1-1023, Bulk: 1-64, etc
	WORD  bInterval[MAX_EP]; // polling interval (for LS)
    BYTE  bData1[MAX_EP];    // DataToggle value
} pUSBDEV;

// USB specific request
typedef struct
{
    BYTE bmRequest;
    BYTE bRequest;
    WORD wValue;
    WORD wIndex;
    WORD wLength;
} SetupPKG, *pSetupPKG;

// Standard Device Descriptor
typedef struct
{   BYTE bLength;
    BYTE bDescriptorType;
    WORD bcdUSB;
    BYTE bDeviceClass;
    BYTE bDeviceSubClass;
    BYTE bDeviceProtocol;
    BYTE bMaxPacketSize0;
    WORD idVendor;
    WORD idProduct;
    WORD bcdDevice;
    BYTE iManufacturer;
    BYTE iProduct;
    BYTE iSerialNumber;
    BYTE bNumConfigurations;
} sDevDesc, *pDevDesc;

// Standard Configuration Descriptor
typedef struct
{	
    BYTE bLength;                 // Size of descriptor in Byte
	BYTE bType;					 // Configuration
	WORD wLength;                // Total length
	BYTE bNumIntf;				 // Number of interface
	BYTE bCV;             		 // bConfigurationValue
	BYTE bIndex;          		 // iConfiguration
	BYTE bAttr;                  // Configuration Characteristic
	BYTE bMaxPower;				 // Power config
} sCfgDesc, *pCfgDesc;

// Standard Interface Descriptor
typedef struct
{	BYTE bLength;
	BYTE bType;
	BYTE iNum;
	BYTE iAltString;
	BYTE bEndPoints;
	BYTE iClass;
	BYTE iSub; 
	BYTE iProto;
	BYTE iIndex; 
} sIntfDesc, *pIntfDesc;

// Standard EndPoint Descriptor
typedef struct
{	BYTE bLength;
	BYTE bType;
	BYTE bEPAdd;
	BYTE bAttr;
	WORD wPayLoad;               // low-speed this must be 0x08
	BYTE bInterval;
} sEPDesc, *pEPDesc;

// Standard String Descriptor
typedef struct
{	BYTE bLength;
	BYTE bType;
	WORD wLang;
} sStrDesc, *pStrDesc;

//------------------------------------------------------------------------
// EP0 use for configuration and Vendor Specific command interface
//------------------------------------------------------------------------
#define EP0_Buf		    0x10	// define start of EP0 64-byte buffer
#define EP1_Buf		    0x40	// define start of EP1 64-byte buffer

/*-------------------------------------------------------------------------
 * SL811H Register Control memory map
 * --Note: 
 *      --SL11H only has one control register set from 0x00-0x04
 *      --SL811H has two control register set from 0x00-0x04 and 0x08-0x0c
 *------------------------------------------------------------------------*/

#define EP0Control      0x00
#define EP0Address      0x01
#define EP0XferLen      0x02
#define EP0Status       0x03
#define EP0Counter      0x04

#define EP1Control      0x08
#define EP1Address      0x09
#define EP1XferLen      0x0a
#define EP1Status       0x0b
#define EP1Counter      0x0c

#define CtrlReg         0x05
#define IntEna          0x06
                               // 0x07 is reserved
#define IntStatus       0x0d
#define cDATASet        0x0e
#define cSOFcnt         0x0f   // Master=1 Slave=0, D+/D-Pol Swap=1 0=not [0-5] SOF Count 
                               // 0xAE = 1100 1110
                               // 0xEE = 1110 1110
//Interrupt Status Mask
#define USB_A_DONE		0x01
#define USB_B_DONE		0x02
#define BABBLE_DETECT	0x04
#define INT_RESERVE		0x08
#define SOF_TIMER		0x10
#define INSERT_REMOVE	0x20
#define USB_RESET		0x40
#define USB_DPLUS		0x80
#define INT_CLEAR		0xFF

//EP0 Status Mask
#define EP0_ACK			0x01	// EPxStatus bits mask during a read
#define EP0_ERROR		0x02
#define EP0_TIMEOUT		0x04
#define EP0_SEQUENCE	0x08
#define EP0_SETUP		0x10
#define EP0_OVERFLOW	0x20
#define EP0_NAK			0x40
#define EP0_STALL		0x80

/*-------------------------------------------------------------------------
 * Standard Chapter 9 definition
 *-------------------------------------------------------------------------
 */
/*-------------------------------------------------------------------------
 * Standard Chapter 9 definition
 *-------------------------------------------------------------------------
 */
#define GET_STATUS      0x00																  
#define CLEAR_FEATURE   0x01
#define SET_FEATURE     0x03
#define SET_ADDRESS     0x05
#define GET_DESCRIPTOR  0x06
#define SET_DESCRIPTOR  0x07
#define GET_CONFIG      0x08
#define SET_CONFIG      0x09
#define GET_INTERFACE   0x0a
#define SET_INTERFACE   0x0b
#define SYNCH_FRAME     0x0c

#define DEVICE          0x01
#define CONFIGURATION   0x02
#define STRING          0x03
#define INTERFACE       0x04
#define ENDPOINT        0x05

#define STDCLASS        0x00
#define HIDCLASS        0x03
#define HUBCLASS	 	0x09      // bDeviceClass, bInterfaceClass

/*-------------------------------------------------------------------------
 * SL11H/SL811H definition
 *-------------------------------------------------------------------------
 */

                           // USB-A, USB-B Host Control Register [00H, 08H]
                           // Pre  Reserved
                           //  DatT Dir [1=Trans, 0=Recv]
                           //   SOF Enable
                           //    ISO  Arm 
#define DATA0_WR   	0x07   // 0000 0111 (      Data0 +       OUT + Enable + Arm)
#define sDATA0_WR  	0x27   // 0010 0111 (      Data0 + SOF + OUT + Enable + Arm)
#define pDATA0_WR   0x87   // 1000 0111 (Pre + Data0 +       OUT + Enable + Arm)
#define psDATA0_WR  0xA7   // 1010 0111 (Pre + Data0 + SOF + OUT + Enable + Arm)

#define DATA0_RD    0x03   // 0000 0011 (      Data0 +       IN +  Enable + Arm)
#define sDATA0_RD   0x23   // 0010 0011 (      Data0 + SOF + IN +  Enable + Arm)
#define pDATA0_RD   0x83   // 1000 0011 (Pre + Data0 +       IN +  Enable + Arm)
#define psDATA0_RD  0xA3   // 1010 0011 (Pre + Data0 + SOF + IN +  Enable + Arm)

#define PID_SETUP   0xD0 
#define PID_IN      0x90
#define PID_OUT     0x10


/*-------------------------------------------------------------------------
 * Function Protocol
 *-------------------------------------------------------------------------
 */
void sl811h_init(void);
int slave_detect(void);
int speed_detect(void) ;
BYTE SL811Read(BYTE a);
void SL811Write(BYTE a, BYTE d);
void SL811BufRead(BYTE addr, BYTE *s, BYTE c);
void SL811BufWrite(BYTE addr, BYTE *s, BYTE c);
void USBReset();
int usbXfer(BYTE usbaddr, BYTE endpoint, BYTE pid, BYTE iso, WORD wPayload, WORD wLen, BYTE *buffer);
int ep0Xfer(BYTE usbaddr, WORD payload, pSetupPKG setup, BYTE *pData);
int VendorCmd(BYTE usbaddr,BYTE bReq, BYTE bCmd, WORD wValue, WORD wIndex,WORD wLen,BYTE* pData);
int GetDesc(BYTE usbaddr, WORD wValue, 	WORD wIndex, WORD wLen, BYTE *desc);
int GetStatus(BYTE usbaddr, BYTE *desc);
int SetAddress(WORD addr);
int Set_Configuration(BYTE usbaddr,WORD wVal);
int EnumUsbDev(BYTE DevAddr);
WORD WordSwap(WORD input);
int GetPortStatus(BYTE usbaddr, BYTE cPort, BYTE *desc);
int Slave_Detach(void);

/*-------------------------------------------------------------------------
 * Structure for Mass Storage( CBW and CSW )
 *------------------------------------------------------------------------*/
// CBW
typedef struct
{
	LWORD dCBWSignature;
    LWORD dCBWTag;
	BYTE  dCBWDataTransferLength[4];
	BYTE  bmCBWFlags;
	BYTE  bCBWLUN;
	BYTE  bCBWCBLength;
	BYTE  CBWCB[16];
} CBW,*pCBW;

BYTE Get_LUN();
BYTE Reset_U();
BYTE UFLInquiry();
BYTE UFLRequestSense();//主機(jī)請(qǐng)求判別參數(shù)
BYTE UFLReadCapacity();
BYTE UFLRead10(LWORD LBA);
BYTE UFLWrite10(LWORD LBA);
WORD CheckFreeCapacity(WORD TotalWriteSize,WORD *FreeList,WORD ErrorCapacity);//查詢(xún)U盤(pán)空閑容量,得到空閑簇的地址列表
void USB_Delay(int time);//time 單位為 ms
WORD CheckFileName();

extern bit SLAVE_ENUMERATED;
extern BYTE	 xdata	ErrorCode;
extern BYTE  xdata  EPOut,EPIn,MaxLUN;
extern WORD  xdata 	OutPayLoad,InPayLoad;
extern LWORD xdata	USBCapacity;
extern BYTE  xdata 	MassStorageDataBuf[0x200];
extern WORD  xdata 	DBRAddr,FATAddr,RootDirAddr,FileDataAddr;
extern WORD  xdata 	RootDirNum,SectorSize,FATLength;//FreeCapacity,
extern BYTE  xdata 	ClusterSize,RootDirSize;
extern pUSBDEV xdata uDev[MAX_DEV];	// Multiple USB devices attributes, Max 5 devices
extern WORD  xdata TotalWriteSize,ErrorCapacity;
extern LWORD xdata ValidCapacity;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九一久久久久久| 日韩中文字幕麻豆| 欧美高清视频一二三区| 老司机精品视频导航| 日本一区二区成人| 欧美三级电影网站| 国产麻豆91精品| 午夜伦欧美伦电影理论片| 精品福利一二区| 中文字幕欧美激情一区| 欧美日韩一区三区| 国产乱码精品一区二区三| 亚洲精品大片www| 精品成人一区二区| 欧美亚洲日本国产| 国产99精品国产| 日韩av电影天堂| 亚洲精品国产成人久久av盗摄| 日韩精品在线一区二区| 欧美性猛交一区二区三区精品| 久久精品国产精品亚洲综合| 亚洲精品中文在线观看| 久久久亚洲午夜电影| 日本韩国精品在线| 成人午夜电影久久影院| 日韩精彩视频在线观看| 亚洲女人****多毛耸耸8| 久久嫩草精品久久久精品| 欧美区在线观看| 97久久久精品综合88久久| 国产乱理伦片在线观看夜一区| 国产精品色一区二区三区| 亚洲精品国产品国语在线app| 日韩欧美一卡二卡| 欧美在线观看一区二区| 成人国产精品免费观看视频| 欧美aaaaaa午夜精品| 亚洲最快最全在线视频| 日本一区二区免费在线| 日韩亚洲欧美一区| 欧美羞羞免费网站| 成人精品免费看| 国产在线视视频有精品| 午夜精品久久久久久久99水蜜桃| 国产精品入口麻豆原神| 26uuu国产日韩综合| 欧美电影在哪看比较好| 欧美性猛交xxxx乱大交退制版| 99视频在线精品| 成人国产视频在线观看| 国产.精品.日韩.另类.中文.在线.播放| 日韩国产欧美在线视频| 亚洲成在人线在线播放| 亚洲一区在线看| www.一区二区| 国产成人精品免费看| 久久精品国产秦先生| 日韩精品免费专区| 亚洲小少妇裸体bbw| 亚洲天堂久久久久久久| 又紧又大又爽精品一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美v日韩v国产v| 日韩一区国产二区欧美三区| 欧美日韩亚洲综合一区| 91麻豆精品国产91久久久使用方法| 欧美日韩专区在线| 欧美日韩国产大片| 欧美亚洲动漫精品| 91.成人天堂一区| 欧美大片一区二区| 国产人久久人人人人爽| 国产精品九色蝌蚪自拍| 一二三区精品福利视频| 视频一区二区三区中文字幕| 蜜臀久久99精品久久久久宅男| 麻豆成人免费电影| 国产成人亚洲综合a∨婷婷| jlzzjlzz欧美大全| 欧美这里有精品| 欧美一区二区三区公司| 精品国精品国产尤物美女| 国产欧美日韩在线| 日韩理论片网站| 亚洲一二三四区| 麻豆91在线播放免费| 国产成人精品影院| 在线精品亚洲一区二区不卡| 4438成人网| 国产清纯在线一区二区www| 亚洲另类色综合网站| 日韩 欧美一区二区三区| 国内精品久久久久影院薰衣草| 不卡视频免费播放| 欧美日本精品一区二区三区| 日韩欧美不卡在线观看视频| 国产肉丝袜一区二区| 夜夜操天天操亚洲| 国产自产视频一区二区三区| 91蜜桃在线观看| 日韩一区二区三区免费看 | 日韩三级伦理片妻子的秘密按摩| 精品国产一区二区三区忘忧草| 中文子幕无线码一区tr| 亚洲国产你懂的| 免费看黄色91| 99久久免费精品| 欧美三区免费完整视频在线观看| 精品人在线二区三区| 亚洲欧美日本韩国| 国产专区综合网| 欧美日韩精品欧美日韩精品一| 国产午夜精品久久久久久久| 亚洲国产精品久久久久婷婷884| 国产露脸91国语对白| 欧美午夜宅男影院| 中文字幕精品三区| 久久精品国产免费| 欧美无乱码久久久免费午夜一区| 久久精品日产第一区二区三区高清版| 亚洲五码中文字幕| 成人午夜免费电影| 欧美大胆一级视频| 亚洲v中文字幕| 91麻豆自制传媒国产之光| 精品国产凹凸成av人导航| 亚洲在线视频免费观看| 成人av影视在线观看| 精品久久免费看| 日日夜夜免费精品视频| 在线免费不卡电影| 亚洲欧美一区二区在线观看| 激情综合色丁香一区二区| 欧美另类z0zxhd电影| 一区二区欧美国产| 97精品电影院| 国产精品乱码妇女bbbb| 国产美女在线精品| 精品美女在线播放| 六月婷婷色综合| 3d成人动漫网站| 午夜久久久久久电影| 91麻豆福利精品推荐| 国产精品女主播av| 成人午夜碰碰视频| 中文字幕第一区| 成熟亚洲日本毛茸茸凸凹| 久久亚洲精精品中文字幕早川悠里| 丝袜美腿一区二区三区| 欧美精品在线观看播放| 五月天激情综合网| 欧美日韩午夜影院| 五月天丁香久久| 717成人午夜免费福利电影| 视频一区二区三区入口| 欧美一区二区三区视频免费播放 | 99精品视频在线观看| 中文字幕精品三区| 99re这里只有精品视频首页| 中文字幕欧美一| 色妹子一区二区| 一区二区三区中文免费| 日本韩国欧美在线| 日韩国产在线一| 精品欧美一区二区在线观看 | 美女视频黄 久久| 亚洲精品国产视频| 欧美视频中文字幕| 亚洲bt欧美bt精品| 欧美日韩视频专区在线播放| 亚洲成人7777| 日韩一区二区免费高清| 激情图片小说一区| 国产精品美女久久久久aⅴ国产馆| 成人免费毛片片v| 亚洲伊人色欲综合网| 91精品国产欧美日韩| 国产一区二区三区免费看| 国产亚洲精品精华液| 97精品视频在线观看自产线路二| 一区二区三区美女| 日韩你懂的在线观看| 国产一二精品视频| 亚洲理论在线观看| 日韩美女天天操| 国产91精品露脸国语对白| 亚洲男人的天堂网| 欧美一区二区免费视频| 国产成人精品在线看| 亚洲制服丝袜av| 精品国产3级a| 91麻豆免费视频| 天天色天天爱天天射综合| 欧美一级日韩免费不卡| 成人综合在线观看| 无码av免费一区二区三区试看| 久久久www成人免费毛片麻豆| 97精品国产97久久久久久久久久久久| 亚洲成人福利片| 中文字幕不卡在线观看|