⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 descriptor.h

📁 smartARM2400 USB host例程
💻 H
📖 第 1 页 / 共 2 页
字号:
/*****************************Copyright(c)****************************************************************
**                    Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                           http://www.embedtools.com
**
**------File Info-----------------------------------------------------------------------------------------
** File Name:            Chap_9.h
** Latest modified Date: 2007-10-20        
** Latest Version:       V1.0    
** Description:          USB规范第9章定义的一些描述符
**                       
**--------------------------------------------------------------------------------------------------------
** Created By:           Longsui Wu
** Created date:         2007-10-20    
** Version:              V1.0    
** Descriptions:         初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:          
** Modified date:        
** Version:             
** Description:          
**                      
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/
#ifndef __DESCRIPTOR_H
#define __DESCRIPTOR_H

#include "USBHostConfig.h"


/*********************************************************************************************************
  USB Descriptor structure and their member value
*********************************************************************************************************/

/*********************************************************************************************************
  USB  device descriptor structure 
*********************************************************************************************************/
#if 1

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __USB_DEVICE_DESCRIPTOR_TYPE_
#define __USB_DEVICE_DESCRIPTOR_TYPE_
typedef struct __tagUSB_DEVICE_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U bcdUSB0;
    USB_INT8U bcdUSB1;
    USB_INT8U bDeviceClass;
    USB_INT8U bDeviceSubClass;
    USB_INT8U bDeviceProtocol;
    USB_INT8U bMaxPacketSize0;
    USB_INT8U idVendor0;
    USB_INT8U idVendor1;
    USB_INT8U idProduct0;
    USB_INT8U idProduct1;
    USB_INT8U bcdDevice0;
    USB_INT8U bcdDevice1;
    USB_INT8U iManufacturer;
    USB_INT8U iProduct;
    USB_INT8U iSerialNumber;
    USB_INT8U bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
#endif

/*********************************************************************************************************
  USB  configuration descriptor structure 
*********************************************************************************************************/
#ifndef __USB_CONFIGURATION_DESCRIPTOR_TYPE_
#define __USB_CONFIGURATION_DESCRIPTOR_TYPE_
typedef struct __tagUSB_CONFIGURATION_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U wTotalLength0;
    USB_INT8U wTotalLength1;
    USB_INT8U bNumInterfaces;
    USB_INT8U bConfigurationValue;
    USB_INT8U iConfiguration;
    USB_INT8U bmAttributes;
    USB_INT8U MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
#endif

/*********************************************************************************************************
  USB  interface descriptor structure 
*********************************************************************************************************/
#ifndef __USB_INTERFACE_DESCRIPTOR_TYPE_
#define __USB_INTERFACE_DESCRIPTOR_TYPE_
typedef struct __tagUSB_INTERFACE_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U bInterfaceNumber;
    USB_INT8U bAlternateSetting;
    USB_INT8U bNumEndpoints;
    USB_INT8U bInterfaceClass;
    USB_INT8U bInterfaceSubClass;
    USB_INT8U bInterfaceProtocol;
    USB_INT8U iInterface;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
#endif

/*********************************************************************************************************
  USB  endpoint descriptor structure  
*********************************************************************************************************/
#ifndef __USB_ENDPOINT_DESCRIPTOR_TYPE_
#define __USB_ENDPOINT_DESCRIPTOR_TYPE_
typedef struct __tagUSB_ENDPOINT_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U bEndpointAddress;
    USB_INT8U bmAttributes;
    USB_INT8U wMaxPacketSize0;
    USB_INT8U wMaxPacketSize1;
    USB_INT8U bInterval;
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
#endif

/*********************************************************************************************************
  USB string descriptor structure 
*********************************************************************************************************/
#ifndef __USB_STRING_DESCRIPTOR_TYPE_
#define __USB_STRING_DESCRIPTOR_TYPE_
typedef struct __tagUSB_STRING_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U bString[1];
} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
#endif

/*********************************************************************************************************
  USB OTG descriptor structure 
*********************************************************************************************************/
#ifndef __USB_OTG_DESCRIPTOR_TYPE_
#define __USB_OTG_DESCRIPTOR_TYPE_
typedef struct __tagUSB_OTG_DESCRIPTOR {
    USB_INT8U bLength;
    USB_INT8U bDescriptorType;
    USB_INT8U bmAttributes;
} USB_OTG_DESCRIPTOR, *PUSB_OTG_DESCRIPTOR;
#endif

#ifdef __cplusplus
 }
#endif

#endif
 
#define __USB_MAXIMUM_STRING_LENGTH                 255                 /*  USB max string length       */

/*********************************************************************************************************
  USB power descriptor structure 
*********************************************************************************************************/
typedef __packed struct __tagUSB_POWER_DESCRIPTOR {
    USB_INT8U  bLength;
    USB_INT8U  bDescriptorType;
    USB_INT8U  bCapabilitiesFlags;
    USB_INT16U EventNotification;
    USB_INT16U D1LatencyTime;
    USB_INT16U D2LatencyTime;
    USB_INT16U D3LatencyTime;
    USB_INT8U  PowerUnit;
    USB_INT16U D0PowerConsumption;
    USB_INT16U D1PowerConsumption;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -