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

📄 descriptor.h

📁 dsp转换USB通讯程序样例
💻 H
字号:
#define ConfigDescritorLen 46


/* 设备描述符: 测试设备类型 */
#define USB_CLASS_CODE_TEST_CLASS_DEVICE                    0xdc

/* 接口描述符: 子类代码 */
#define USB_SUBCLASS_CODE_TEST_CLASS_D12                    0xA0

/* 接口描述符: 协议代码 */
#define USB_PROTOCOL_CODE_TEST_CLASS_D12                    0xB0



#define MAX_CONTROLDATA_SIZE	8
#define MAX_ENDPOINTS      		0x3

//temporary setting, needs to be modified
#define CONFIG_DESCRIPTOR_LENGTH 46

/*******************************************************
** USB 特性选择符
********************************************************/
#define USB_FEATURE_ENDPOINT_STALL          0x0000
#define USB_FEATURE_REMOTE_WAKEUP           0x0001
#define USB_FEATURE_POWER_D0                0x0002
#define USB_FEATURE_POWER_D1                0x0003
#define USB_FEATURE_POWER_D2                0x0004
#define USB_FEATURE_POWER_D3                0x0005


/*
*********************************************************************************************
*                  	 通用 描述符结构体成员取值宏定义
*********************************************************************************************
*/
	//*******************************************************
	// USB 设备请求类型掩码 masks 
	//*******************************************************
//(1) 接收方: D4...D0 
#define USB_RECIPIENT            0x1F
#define USB_RECIPIENT_DEVICE     0x00
#define USB_RECIPIENT_INTERFACE  0x01
#define USB_RECIPIENT_ENDPOINT   0x02

//(2) 类型: D6...D5
#define USB_REQUEST_TYPE_MASK    0x60
#define USB_STANDARD_REQUEST     0x00
#define USB_CLASS_REQUEST        0x20
#define USB_VENDOR_REQUEST       0x40

//(3) 数据传输方向: D7
#define DEVICE_ADDRESS_MASK      0x7F

//(4) USB 请求
#define USB_REQUEST_MASK         0x0F

//(5) USB端点方向掩码
#define USB_ENDPOINT_DIRECTION_MASK	        0x80
#define USB_ENDPOINT_DIRECTION_OUT          (!((addr) & USB_ENDPOINT_DIRECTION_MASK))
#define USB_ENDPOINT_DIRECTION_IN           ((addr) & USB_ENDPOINT_DIRECTION_MASK)

/*****   D12 接口描述符中: 除端点0的端点索引数目  ******/
#define NUM_ENDPOINTS	4

	//*******************************************************
	// USB 设备请求类型
	//*******************************************************
#define USB_DEVICE_DESCRIPTOR_TYPE                0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE         0x02
#define USB_STRING_DESCRIPTOR_TYPE                0x03
#define USB_INTERFACE_DESCRIPTOR_TYPE             0x04
#define USB_ENDPOINT_DESCRIPTOR_TYPE              0x05
#define USB_POWER_DESCRIPTOR_TYPE                 0x06

	/*******************************************************
	** USB 端点描述符结构体: 端点属性
	********************************************************/
#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

⌨️ 快捷键说明

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