📄 descriptor.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 + -