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

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

?? usb.h

?? 基于Keil+HJTAG+LPC214x的Mass Storage Device類USB開發例程
?? H
字號:
/*----------------------------------------------------------------------------
 *      U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    USB.H
 *      Purpose: USB Definitions
 *      Version: V1.10
 *----------------------------------------------------------------------------
 *      This software is supplied "AS IS" without any warranties, express,
 *      implied or statutory, including but not limited to the implied
 *      warranties of fitness for purpose, satisfactory quality and
 *      noninfringement. Keil extends you a royalty-free right to reproduce
 *      and distribute executable files created using this software for use
 *      on Philips LPC2xxx microcontroller devices only. Nothing else gives
 *      you the right to use this software.
 *
 *      Copyright (c) 2005-2006 Keil Software.
 *---------------------------------------------------------------------------*/

#ifndef __USB_H__
#define __USB_H__


typedef __packed union {
  WORD W;
  __packed struct {
    BYTE L;
    BYTE H;
  } WB;
} WORD_BYTE;


/* bmRequestType.Dir */
#define REQUEST_HOST_TO_DEVICE     0
#define REQUEST_DEVICE_TO_HOST     1

/* bmRequestType.Type */
#define REQUEST_STANDARD           0
#define REQUEST_CLASS              1
#define REQUEST_VENDOR             2
#define REQUEST_RESERVED           3

/* bmRequestType.Recipient */
#define REQUEST_TO_DEVICE          0
#define REQUEST_TO_INTERFACE       1
#define REQUEST_TO_ENDPOINT        2
#define REQUEST_TO_OTHER           3

/* bmRequestType Definition */
typedef __packed union _REQUEST_TYPE {
  __packed struct _BM {
    BYTE Recipient : 5;
    BYTE Type      : 2;
    BYTE Dir       : 1;
  } BM;
  BYTE B;
} REQUEST_TYPE;

/* USB Standard Request Codes */
#define USB_REQUEST_GET_STATUS                 0
#define USB_REQUEST_CLEAR_FEATURE              1
#define USB_REQUEST_SET_FEATURE                3
#define USB_REQUEST_SET_ADDRESS                5
#define USB_REQUEST_GET_DESCRIPTOR             6
#define USB_REQUEST_SET_DESCRIPTOR             7
#define USB_REQUEST_GET_CONFIGURATION          8
#define USB_REQUEST_SET_CONFIGURATION          9
#define USB_REQUEST_GET_INTERFACE              10
#define USB_REQUEST_SET_INTERFACE              11
#define USB_REQUEST_SYNC_FRAME                 12

/* USB GET_STATUS Bit Values */
#define USB_GETSTATUS_SELF_POWERED             0x01
#define USB_GETSTATUS_REMOTE_WAKEUP            0x02
#define USB_GETSTATUS_ENDPOINT_STALL           0x01

/* USB Standard Feature selectors */
#define USB_FEATURE_ENDPOINT_STALL             0
#define USB_FEATURE_REMOTE_WAKEUP              1

/* USB Default Control Pipe Setup Packet */
typedef __packed struct _USB_SETUP_PACKET {
  REQUEST_TYPE bmRequestType;
  BYTE         bRequest;
  WORD_BYTE    wValue;
  WORD_BYTE    wIndex;
  WORD         wLength;
} USB_SETUP_PACKET;


/* USB Descriptor Types */
#define USB_DEVICE_DESCRIPTOR_TYPE             1
#define USB_CONFIGURATION_DESCRIPTOR_TYPE      2
#define USB_STRING_DESCRIPTOR_TYPE             3
#define USB_INTERFACE_DESCRIPTOR_TYPE          4
#define USB_ENDPOINT_DESCRIPTOR_TYPE           5
#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE   6
#define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE 7
#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE    8

/* USB Device Classes */
#define USB_DEVICE_CLASS_RESERVED              0x00
#define USB_DEVICE_CLASS_AUDIO                 0x01
#define USB_DEVICE_CLASS_COMMUNICATIONS        0x02
#define USB_DEVICE_CLASS_HUMAN_INTERFACE       0x03
#define USB_DEVICE_CLASS_MONITOR               0x04
#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE    0x05
#define USB_DEVICE_CLASS_POWER                 0x06
#define USB_DEVICE_CLASS_PRINTER               0x07
#define USB_DEVICE_CLASS_STORAGE               0x08
#define USB_DEVICE_CLASS_HUB                   0x09
#define USB_DEVICE_CLASS_VENDOR_SPECIFIC       0xFF

/* bmAttributes in Configuration Descriptor */
#define USB_CONFIG_POWERED_MASK                0xC0
#define USB_CONFIG_BUS_POWERED                 0x80
#define USB_CONFIG_SELF_POWERED                0x40
#define USB_CONFIG_REMOTE_WAKEUP               0x20

/* bMaxPower in Configuration Descriptor */
#define USB_CONFIG_POWER_MA(mA)                ((mA)/2)

/* bEndpointAddress in Endpoint Descriptor */
#define USB_ENDPOINT_DIRECTION_MASK            0x80
#define USB_ENDPOINT_OUT(addr)                 ((addr) | 0x00)
#define USB_ENDPOINT_IN(addr)                  ((addr) | 0x80)

/* bmAttributes in Endpoint Descriptor */
#define USB_ENDPOINT_TYPE_MASK                 0x03
#define USB_ENDPOINT_TYPE_CONTROL              0x00
#define USB_ENDPOINT_TYPE_ISOCHRONOUS          0x01
#define USB_ENDPOINT_TYPE_BULK                 0x02
#define USB_ENDPOINT_TYPE_INTERRUPT            0x03
#define USB_ENDPOINT_SYNC_MASK                 0x0C
#define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION   0x00
#define USB_ENDPOINT_SYNC_ASYNCHRONOUS         0x04
#define USB_ENDPOINT_SYNC_ADAPTIVE             0x08
#define USB_ENDPOINT_SYNC_SYNCHRONOUS          0x0C
#define USB_ENDPOINT_USAGE_MASK                0x30
#define USB_ENDPOINT_USAGE_DATA                0x00
#define USB_ENDPOINT_USAGE_FEEDBACK            0x10
#define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK   0x20
#define USB_ENDPOINT_USAGE_RESERVED            0x30

/* USB Standard Device Descriptor */
typedef __packed struct _USB_DEVICE_DESCRIPTOR {
  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;
} USB_DEVICE_DESCRIPTOR;

/* USB 2.0 Device Qualifier Descriptor */
typedef __packed struct _USB_DEVICE_QUALIFIER_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
  WORD  bcdUSB;
  BYTE  bDeviceClass;
  BYTE  bDeviceSubClass;
  BYTE  bDeviceProtocol;
  BYTE  bMaxPacketSize0;
  BYTE  bNumConfigurations;
  BYTE  bReserved;
} USB_DEVICE_QUALIFIER_DESCRIPTOR;

/* USB Standard Configuration Descriptor */
typedef __packed struct _USB_CONFIGURATION_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
  WORD  wTotalLength;
  BYTE  bNumInterfaces;
  BYTE  bConfigurationValue;
  BYTE  iConfiguration;
  BYTE  bmAttributes;
  BYTE  MaxPower;
} USB_CONFIGURATION_DESCRIPTOR;

/* USB Standard Interface Descriptor */
typedef __packed struct _USB_INTERFACE_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
  BYTE  bInterfaceNumber;
  BYTE  bAlternateSetting;
  BYTE  bNumEndpoints;
  BYTE  bInterfaceClass;
  BYTE  bInterfaceSubClass;
  BYTE  bInterfaceProtocol;
  BYTE  iInterface;
} USB_INTERFACE_DESCRIPTOR;

/* USB Standard Endpoint Descriptor */
typedef __packed struct _USB_ENDPOINT_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
  BYTE  bEndpointAddress;
  BYTE  bmAttributes;
  WORD  wMaxPacketSize;
  BYTE  bInterval;
} USB_ENDPOINT_DESCRIPTOR;

/* USB String Descriptor */
typedef __packed struct _USB_STRING_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
  WORD  bString/*[]*/;
} USB_STRING_DESCRIPTOR;

/* USB Common Descriptor */
typedef __packed struct _USB_COMMON_DESCRIPTOR {
  BYTE  bLength;
  BYTE  bDescriptorType;
} USB_COMMON_DESCRIPTOR;


#endif  /* __USB_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线观看网站| 精品99一区二区| 波多野结衣一区二区三区| 黑人巨大精品欧美黑白配亚洲| 亚洲电影一级黄| 午夜成人免费视频| 亚洲午夜久久久久中文字幕久| 亚洲精品成人在线| 亚洲综合色自拍一区| 亚洲成av人在线观看| 天堂成人免费av电影一区| 麻豆久久久久久久| 国产精品一区在线观看你懂的| 国产精品99久久久久久有的能看| 国产成人鲁色资源国产91色综| 福利电影一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 91丨九色丨蝌蚪富婆spa| 欧亚洲嫩模精品一区三区| 欧美裸体一区二区三区| 日韩欧美的一区二区| 日本一区二区三区高清不卡| 亚洲欧美欧美一区二区三区| 天堂精品中文字幕在线| 国产毛片精品视频| 91丨九色丨黑人外教| 51午夜精品国产| 中文字幕欧美激情一区| 亚洲成人av资源| 国产高清视频一区| 欧洲av在线精品| 久久色在线观看| 一区二区三区中文在线观看| 日本怡春院一区二区| 懂色av一区二区夜夜嗨| 欧美日韩国产综合视频在线观看 | 欧美亚洲尤物久久| 日韩精品一区二区三区视频 | 精品粉嫩aⅴ一区二区三区四区| 国产午夜精品一区二区三区嫩草| 一区二区三区成人| 国产一区二区免费视频| 欧洲精品一区二区三区在线观看| 精品国产免费一区二区三区香蕉| 亚洲图片激情小说| 激情小说欧美图片| 欧美午夜精品理论片a级按摩| 久久精品水蜜桃av综合天堂| 亚洲成av人片在线| k8久久久一区二区三区| 精品国一区二区三区| 一区二区三区不卡在线观看| 国产不卡视频在线播放| 欧美一级理论片| 亚洲国产精品久久人人爱| 成人一区二区三区视频在线观看| 69堂精品视频| 亚洲在线视频网站| www.66久久| 中文字幕精品三区| 国产suv一区二区三区88区| 欧美一区二区三区小说| 亚洲国产精品一区二区尤物区| 不卡电影一区二区三区| 久久久久久久久久久久电影| 久久精品国产精品青草| 欧美一区二区精美| 日韩国产高清影视| 精品视频在线看| 亚洲精品国产品国语在线app| 粉嫩嫩av羞羞动漫久久久| 精品对白一区国产伦| 久久国产剧场电影| 精品女同一区二区| 久久国产欧美日韩精品| 精品国内片67194| 国产一区日韩二区欧美三区| 精品久久人人做人人爽| 精品一区二区三区在线观看| 精品国产一区二区三区av性色 | 色综合久久久久久久久久久| 中文一区二区完整视频在线观看| 国产一区二区三区在线观看免费视频 | 日本精品一区二区三区高清 | 中文字幕av一区 二区| 国产精品99久久久久久有的能看| 久久婷婷久久一区二区三区| 国产99久久久精品| 亚洲国产精品激情在线观看| 91小视频在线| 婷婷综合在线观看| 日韩一级欧美一级| 国产精品自在在线| 国产精品卡一卡二| 欧美性生活一区| 人人精品人人爱| 亚洲综合区在线| 欧美日韩三级在线| 国产综合成人久久大片91| 国产精品美女久久久久久久网站| 91在线精品一区二区三区| 亚洲国产精品尤物yw在线观看| 日韩欧美一区中文| 高清av一区二区| 亚洲成人7777| 欧美激情中文字幕| 欧美午夜理伦三级在线观看| 久久成人综合网| 亚洲日本在线a| 欧美一区二区三区日韩| 国产69精品一区二区亚洲孕妇| 亚洲综合在线电影| 久久久精品免费观看| 欧美这里有精品| 国产盗摄女厕一区二区三区| 亚洲影院久久精品| 亚洲激情六月丁香| 91精品黄色片免费大全| 成人黄色综合网站| 午夜av电影一区| 国产精品久久毛片| 精品国产乱码久久久久久夜甘婷婷| av午夜精品一区二区三区| 日本aⅴ免费视频一区二区三区| 国产精品久久影院| 日韩一级在线观看| 欧美亚洲综合一区| www..com久久爱| 国产精品一区久久久久| 日本亚洲一区二区| 一区二区三区在线免费观看| 国产色婷婷亚洲99精品小说| 欧美一卡在线观看| 欧美少妇一区二区| 一本到不卡免费一区二区| 国产一区二区三区免费在线观看| 亚洲成人av一区| 一二三区精品视频| 亚洲免费在线播放| 一色桃子久久精品亚洲| 久久综合色鬼综合色| 欧美一二三在线| 91精品国产麻豆国产自产在线| 欧美区一区二区三区| 欧美无砖砖区免费| 色综合久久中文综合久久97 | 亚洲午夜在线视频| 亚洲欧美日韩一区二区| 中文字幕第一区二区| 国产偷国产偷亚洲高清人白洁| 久久综合精品国产一区二区三区| 日韩精品中文字幕一区| 日韩一级在线观看| 精品乱人伦一区二区三区| 精品人在线二区三区| 久久先锋影音av鲁色资源网| 久久午夜国产精品| 国产精品嫩草影院av蜜臀| 日本一区二区在线不卡| 中文字幕精品一区二区精品绿巨人 | 国产一区高清在线| 国产精品影视天天线| 成人av电影观看| 在线亚洲免费视频| 欧美精品三级日韩久久| 日韩久久久久久| 日本一区二区三区视频视频| 中文字幕一区在线观看视频| 亚洲色图第一区| 亚洲精品免费播放| 天堂蜜桃一区二区三区| 老司机免费视频一区二区| 国产精品99久久久久久有的能看| av一二三不卡影片| 欧美在线高清视频| 欧美成人三级电影在线| 国产欧美一区二区三区在线看蜜臀 | 中文字幕不卡的av| 亚洲一区二区三区四区在线 | 五月天婷婷综合| 久久69国产一区二区蜜臀| 国产大片一区二区| 欧美在线不卡视频| 欧美一区二区三区日韩| 国产亚洲女人久久久久毛片| 亚洲乱码国产乱码精品精可以看 | 91网站在线观看视频| 日韩一区国产二区欧美三区| 国产精品区一区二区三区| 性感美女久久精品| 国产成a人亚洲精| 欧美日韩国产色站一区二区三区| 26uuu久久综合| 性欧美疯狂xxxxbbbb| 顶级嫩模精品视频在线看| 欧美日韩日本视频| 国产精品久久看| 国产一区视频在线看| 欧美日本精品一区二区三区| 国产精品欧美经典|