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

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

?? usbdriver.h

?? 基于ADSP-BF535 USB驅(qū)動應(yīng)用程序
?? H
字號:
/*----------------------------------------------------------------------------------
*
* COPYRIGHT (c) 2001 by Singing Electrons, Inc. All rights reserved.
*
* Module Name			: C:\se\adi\hidclass\Source\usbdriver.h
*
* Description			: Contains function prototypes and definitions for use by the USBDriver clients
*
*
* Revision History	: At bottom of the file.
*
*---------------------------------------------------------------------------------*/
#ifndef _USBDRIVER_H
#define _USBDRIVER_H


#define USB_CONTROL_REQUEST_TYPE_DIRECTION_MASK 0x80
#define USB_CONTROL_REQUEST_TYPE_DIRECTION_BITSHIFT 7
#define USB_CONTROL_REQUEST_TYPE_TYPE_MASK 0x60
#define USB_CONTROL_REQUEST_TYPE_TYPE_BITSHIFT 5
#define USB_CONTROL_REQUEST_TYPE_RECIPIENT_MASK 0x1f
#define USB_CONTROL_REQUEST_TYPE_RECIPIENT_BITSHIFT 0

#define USB_CONTROL_REQUEST_GET_DIRECTION(a) ((a & USB_CONTROL_REQUEST_TYPE_DIRECTION_MASK) >> USB_CONTROL_REQUEST_TYPE_DIRECTION_BITSHIFT)
#define USB_CONTROL_REQUEST_GET_TYPE(a) ((a & USB_CONTROL_REQUEST_TYPE_TYPE_MASK) >> USB_CONTROL_REQUEST_TYPE_TYPE_BITSHIFT)
#define USB_CONTROL_REQUEST_GET_RECIPIENT(a) (a & USB_CONTROL_REQUEST_TYPE_RECIPIENT_MASK)


#define USB_CONTROL_REQUEST_TYPE_OUT 0
#define USB_CONTROL_REQUEST_TYPE_IN 1
#define USB_CONTROL_REQUEST_TYPE_STANDARD 0x00
#define USB_CONTROL_REQUEST_TYPE_CLASS 0x01
#define USB_CONTROL_REQUEST_TYPE_VENDOR 0x02
#define USB_CONTROL_REQUEST_TYPE_DEVICE 0x00
#define USB_CONTROL_REQUEST_TYPE_INTERFACE 0x01
#define USB_CONTROL_REQUEST_TYPE_ENDPOINT 0x02
#define USB_CONTROL_REQUEST_TYPE_OTHER 0x03

#define USB_GET_DESCRIPTOR 6
#define USB_SET_DESCRIPTOR 7

enum {
	USB_DEVICE_DESCRIPTOR = 1,
	USB_CONFIGURATION_DESCRIPTOR,
	USB_STRING_DESCRIPTOR,
	USB_INTERFACE_DESCRIPTOR,
	USB_ENDPOINT_DESCRIPTOR
	};



#define CONTROL_PIPE_PACKET_SIZE 64

typedef struct tagUSB_SETUP_DATA{
	UCHAR bmRequestType;
	UCHAR bRequest;
	USHORT wValue;
	USHORT wIndex;
	USHORT wLength;
}USB_SETUP_DATA, *PUSB_SETUP_DATA;

static inline void CopyDMABufferToSETUPStruct(PUSB_SETUP_DATA pSetupStruct, void *pDMABuffer)
	{
		pSetupStruct->bmRequestType = ((PUCHAR)pDMABuffer)[0];
		pSetupStruct->bRequest = ((PUCHAR)pDMABuffer)[1];
		pSetupStruct->wValue = ((PUSHORT)pDMABuffer)[1];
		pSetupStruct->wIndex = ((PUSHORT)pDMABuffer)[2];
		pSetupStruct->wLength = ((PUSHORT)pDMABuffer)[3];
	}
	


//Callback function prototypes
typedef bool (* PSETUPPROC) (UCHAR endpointNumber, PUSB_SETUP_DATA pSetupData, void *buffer, 
	PUINT numBytesToTransfer);

typedef bool (* PGETDEVICEDESCRIPTORPROC) (void *buffer, PUINT numBytesToTransfer);
typedef bool (* PGETCONFIGDESCRIPTORPROC) (void *buffer, PUINT numBytesToTransfer);
typedef bool (* PGETSTRINGDESCRIPTORPROC) (UCHAR stringIndex, USHORT langID, void *buffer, PUINT numBytesToTransfer);


typedef void (* PINTCPROC)(UCHAR endpointNumber);
typedef bool (* POUTTCPROC)(UCHAR endpointNumber, void *buffer, UINT numBytesReceived, bool wasPCAsserted);
typedef void (* PMERRPROC)(UCHAR endpointNumber);
typedef bool (* POUTREQPROC)(void);
typedef void (* PSUSPENDPROC)(void);
typedef void (* PRESUMEPROC)(void);
typedef void (* PRESETPROC)(void);
typedef bool (* PCONFIGPROC)(UCHAR newConfiguration, UCHAR newInterface, UCHAR newAltSetting);
typedef void (* PSOFPROC)(void);


bool USBDriver_PreInit (void);

bool USBDriver_SetupEndpoint (UINT endpointNumber, UCHAR altSetting, 
	UCHAR interface, UCHAR configuration, UCHAR direction, 
	UCHAR ep_type, UINT maxPacketSize);

bool USBDriver_CompleteInit (PSETUPPROC pSetupProc, PGETDEVICEDESCRIPTORPROC pDevDescProc,
	PGETCONFIGDESCRIPTORPROC pCfgDescProc, PGETSTRINGDESCRIPTORPROC pStringDescProc,
	PINTCPROC pInTCProc, POUTTCPROC pOutTCProc, PMERRPROC pMerrProc, PSUSPENDPROC pSuspendProc, PRESUMEPROC pResumeProc,
	PRESETPROC pResetProc, PCONFIGPROC pConfigProc, PSOFPROC pSOFProc, UINT controlEPMaxTransferSize);


void ActivateEndpoint (UCHAR endpointNumber, UCHAR endpointType, UCHAR maxPacketSize, UINT defaultMaxTransferSize);
void ArmEndpoint (UCHAR endpointNumber, UCHAR direction);
void StallEndpoint (UCHAR endpointToStall);
bool IsEndpointStalled (UCHAR endpointToCheck);
bool PepareINEPForXFer (UCHAR endpointNumber, void **ppDataBuffer);
bool PrepareOUTEPForXFer (UCHAR endpointNumber);
void UnprepareEP (UCHAR endpointNumber);


#endif //end of  _USBDRIVER_H

/*----------------------------------------------------------------------------------
* $Log: usbdriver.h,v $
* Revision 1.2  2003/03/03 22:37:19  Devendra
* - Some code cleanup.
*
* Revision 1.1  2003/03/03 18:13:47  Devendra
* First Rev, the device enumerates as Mass Storage Class
*
* Revision 1.4  2003/01/16 19:11:00  Devendra
* - Added support to provide a callback for SOF interrupts.
*
* Revision 1.3  2003/01/15 01:37:20  Devendra
* - Changed the ISR declaration to used workaround specified by ADI dsptools website.
* - Changed the name of UnprepareOUTEP to UnprepareEP
*
* Revision 1.2  2003/01/10 01:53:26  Devendra
* - Added support for doing OUT transfers (including isoch. transfers).
*
* Revision 1.1  2003/01/09 01:16:36  Devendra
* First Rev of AudioClass - have the device enumerated as audio device, and the volume control and mute are functional!
*
* Revision 1.1  2002/10/31 00:30:59  Devendra
* Moved all files in one folder to avoid IDE related problems.
*
* Revision 1.2  2002/10/30 02:36:41  Devendra
* - Added more abstraction to HIDCLASS. So that it's possible to build
*   different devices without making any changes to the HIDCLASS module.
* - Added proper support for handling USB SUSPEND, RESUME, and RESET events.
*
* Revision 1.1  2002/10/22 17:23:40  Devendra
* Rearranged file locations.
*
* Revision 1.4  2002/10/14 01:33:15  Devendra
* Got "custom" device functional with buttons and lights!
*
* Revision 1.3  2002/10/09 17:09:32  Devendra
* - Added support for handling IN endpoints.
* - Added HID descriptors (HID and HID Report)
* - Modified the Interface descriptors to comply to HID Class Spec.
* - Added functionality to use the push-buttons on the Eagle-35 as a mouse (for buttons as well as for movement).
* - The device is now a fully functioning USB Mouse!
*
* Revision 1.2  2002/10/08 19:57:02  Devendra
* - Added specific callbacks for getting Device, Config, and String descriptors.
* - BugFix: Max. Packet Size was not being set correctly in ArmEndpoint.
* - Added internal buffer based logging to allow real-time "printfs".
* - Added String descriptors.
*
* Revision 1.1  2002/09/20 06:51:30  Devendra
* First Rev.
*
*
*---------------------------------------------------------------------------------*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧免费全集观看| 狠狠色丁香九九婷婷综合五月| 精品捆绑美女sm三区| 亚洲三级电影全部在线观看高清| 亚洲国产精品尤物yw在线观看| 欧美国产精品一区二区三区| 久久精品国产999大香线蕉| 欧美一级二级在线观看| 精品裸体舞一区二区三区| 日本美女视频一区二区| 欧美午夜寂寞影院| 丝袜亚洲另类欧美综合| 制服丝袜日韩国产| 国产91丝袜在线18| 亚洲成在人线免费| 欧美国产激情二区三区| 成人午夜看片网址| 欧美激情一二三区| 奇米777欧美一区二区| av中文字幕亚洲| 国产欧美一区二区三区鸳鸯浴| 亚洲另类在线制服丝袜| 国产成人高清在线| 国产性色一区二区| 精品制服美女久久| 专区另类欧美日韩| 成人动漫av在线| 亚洲福利一区二区| 亚洲一区二区三区不卡国产欧美| 性久久久久久久久久久久| 高清日韩电视剧大全免费| 久久综合久久综合久久综合| 久久99国产精品麻豆| 成人国产精品免费观看动漫 | 婷婷久久综合九色综合绿巨人| 日韩高清不卡一区| 欧美日韩国产精选| 在线观看一区二区视频| 成人激情动漫在线观看| 春色校园综合激情亚洲| 国产精品一线二线三线精华| 韩国女主播成人在线| 蜜臀国产一区二区三区在线播放 | 在线观看网站黄不卡| 亚洲国产高清aⅴ视频| 国产91精品露脸国语对白| 亚洲精品日韩一| 欧美色图在线观看| 欧洲av在线精品| 国产精品第一页第二页第三页| 精品亚洲国产成人av制服丝袜| 一区二区在线看| 国产区在线观看成人精品 | www.亚洲国产| 久久se精品一区二区| 伊人一区二区三区| 国产精品久久久一本精品 | 久久久蜜臀国产一区二区| 欧美调教femdomvk| 在线观看亚洲专区| 色婷婷国产精品久久包臀| 成人午夜在线播放| 国产专区综合网| 蜜桃一区二区三区在线观看| 午夜精品免费在线| 亚洲一区在线观看视频| 亚洲视频资源在线| 亚洲人午夜精品天堂一二香蕉| 中文字幕精品一区二区三区精品| 久久久久国产精品麻豆| 精品国产免费久久 | 国产亚洲精品aa| 精品精品国产高清a毛片牛牛| 欧美一级视频精品观看| 欧美日韩在线播放一区| 欧美三电影在线| 国内精品伊人久久久久av影院| 男男gaygay亚洲| 蜜桃91丨九色丨蝌蚪91桃色| 奇米精品一区二区三区四区| 美女视频网站久久| 国产又黄又大久久| 国产一区二区免费看| 国内外精品视频| 成人小视频在线| 色婷婷综合久久| 在线一区二区三区做爰视频网站| 在线一区二区三区做爰视频网站| 欧美三级视频在线| 日韩三区在线观看| 国产区在线观看成人精品| 亚洲欧美在线高清| 亚洲一二三级电影| 精品在线观看免费| aaa欧美大片| 欧美伊人久久久久久午夜久久久久| 欧美另类高清zo欧美| 日韩精品一区二区三区中文不卡| 26uuu国产电影一区二区| 国产精品麻豆一区二区| 亚洲人成精品久久久久久| 午夜精品视频一区| 国产精品一区二区黑丝| 91色porny在线视频| 91精品在线免费| 国产亚洲一区二区三区四区| 亚洲天堂中文字幕| 日本va欧美va精品发布| 丁香激情综合五月| 欧美日韩国产电影| 国产欧美日韩精品一区| 午夜一区二区三区在线观看| 久久国产福利国产秒拍| 91在线播放网址| 日韩美女天天操| 亚洲精品国久久99热| 精品夜夜嗨av一区二区三区| 色就色 综合激情| 欧美不卡在线视频| 亚洲一区免费观看| 高清在线成人网| 欧美一区二区福利在线| 亚洲青青青在线视频| 国产精品一区二区三区99| 欧美三级视频在线| 国产精品传媒在线| 精品影院一区二区久久久| 色狠狠桃花综合| 国产亚洲自拍一区| 日韩 欧美一区二区三区| 91蜜桃在线免费视频| 久久中文娱乐网| 天天色综合天天| 91毛片在线观看| 久久精品夜色噜噜亚洲a∨| 亚洲成av人影院在线观看网| 成人a免费在线看| 精品91自产拍在线观看一区| 亚洲第一电影网| 91免费观看视频在线| 中文字幕欧美区| 国产裸体歌舞团一区二区| 欧美高清你懂得| 一区二区三区成人在线视频| 成人综合在线视频| 久久九九影视网| 久久国产尿小便嘘嘘| 91精品国产乱码| 亚欧色一区w666天堂| 色综合咪咪久久| 中文字幕av免费专区久久| 久久国产精品色婷婷| 日韩一区二区在线免费观看| 亚洲www啪成人一区二区麻豆| 色狠狠一区二区三区香蕉| 亚洲人成7777| 在线日韩av片| 亚洲精品美腿丝袜| 91麻豆自制传媒国产之光| 亚洲三级在线播放| 日本丰满少妇一区二区三区| 1区2区3区国产精品| 波多野结衣中文字幕一区| 亚洲国产激情av| 波多野结衣精品在线| 国产精品伦理在线| 99视频在线精品| 亚洲你懂的在线视频| 色哟哟亚洲精品| 亚洲国产精品欧美一二99| 欧美日韩aaaaaa| 日本人妖一区二区| 日韩精品一区二区三区中文不卡 | 欧美婷婷六月丁香综合色| 一区二区三区蜜桃| 欧美男女性生活在线直播观看| 亚洲福利国产精品| 91精品国产欧美一区二区| 裸体一区二区三区| 久久久精品影视| 波多野结衣欧美| 亚洲亚洲精品在线观看| 欧美一区二区三区视频在线| 久久精品国产精品亚洲精品| 久久久久久久久伊人| 99re8在线精品视频免费播放| 亚洲人xxxx| 日韩亚洲欧美高清| 精品一区精品二区高清| 国产精品免费丝袜| 在线免费av一区| 免费欧美高清视频| 国产亚洲成av人在线观看导航 | 国产女主播一区| 日本高清视频一区二区| 日韩av在线发布| 国产欧美中文在线| 在线观看免费亚洲| 激情久久五月天| 亚洲另类在线制服丝袜|