1# USB 2 3 4## 概述 5 6定义(USB)功能的标准API接口。 7 8该模块用于获取描述符、接口对象、请求对象和提交请求的自定义数据类型和函数。 9 10**起始版本:** 3.0 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [usb_info.h](usb__info_8h.md) | USB驱动订阅模块使用的数据类型。 | 21| [usbd_client.h](usbd__client_8h.md) | 声明标准USB驱动接口函数。 | 22| [usbd_subscriber.h](usbd__subscriber_8h.md) | USB驱动订阅模块。 | 23| [usbd_type.h](usbd__type_8h.md) | USB驱动模块接口定义中使用的自定义数据类型。 | 24 25 26### 类 27 28| 名称 | 描述 | 29| -------- | -------- | 30| struct [USBDeviceInfo](_o_h_o_s_1_1_u_s_b_1_1_u_s_b_device_info.md) | USB设备信息。 | 31| class [UsbInfo](_o_h_o_s_1_1_u_s_b_1_1_usb_info.md) | USB设备信息类。 | 32| class [UsbdClient](_o_h_o_s_1_1_u_s_b_1_1_usbd_client.md) | USB驱动客户端类。 | 33| class [UsbdSubscriber](_o_h_o_s_1_1_u_s_b_1_1_usbd_subscriber.md) | USB驱动订阅类。 | 34| struct [UsbDev](_o_h_o_s_1_1_u_s_b_1_1_usb_dev.md) | USB设备。 | 35| struct [UsbPipe](_o_h_o_s_1_1_u_s_b_1_1_usb_pipe.md) | 管道信息。 | 36| struct [UsbCtrlTransfer](_o_h_o_s_1_1_u_s_b_1_1_usb_ctrl_transfer.md) | USB控制传输。 | 37 38 39### 宏定义 40 41| 名称 | 描述 | 42| -------- | -------- | 43| [USB_MAX_INTERFACES](#usb_max_interfaces) 32 | USB设备最大接口数量 | 44 45 46### 类型定义 47 48| 名称 | 描述 | 49| -------- | -------- | 50| typedef void(\* [UsbdRequestCallback](#usbdrequestcallback)) (uint8_t \*requestArg) | 请求回调函数 | 51 52 53### 枚举 54 55| 名称 | 描述 | 56| -------- | -------- | 57| [UsbdBulkCbCmd](#usbdbulkcbcmd) { CMD_USBD_BULK_CALLBACK_READ , CMD_USBD_BULK_CALLBACK_WRITE } | 批量回调命令字。 | 58| [UsbdDeviceAction](#usbddeviceaction) { ACT_DEVUP = 0 , ACT_DEVDOWN , ACT_UPDEVICE , ACT_DOWNDEVICE } | 主机端和设备端插拔事件。 | 59 60 61### 变量 62 63| 名称 | 描述 | 64| -------- | -------- | 65| static const int32_t [USB_ENDPOINT_DIR_MASK](#usb_endpoint_dir_mask) = 0x80 | 从地址中提取USB Endpoint方向的位掩码 | 66| static const int32_t [USB_ENDPOINT_DIR_IN](#usb_endpoint_dir_in) = 0x80 | USB Endpoint从设备到主机的数据方向 | 67| static const int32_t [USB_ENDPOINT_DIR_OUT](#usb_endpoint_dir_out) = 0 | USB Endpoint从主机到设备的数据方向 | 68 69 70## 宏定义说明 71 72 73### USB_MAX_INTERFACES 74 75``` 76#define USB_MAX_INTERFACES 32 77``` 78 79**描述** 80 81 82USB设备最大接口数量 83 84 85## 类型定义说明 86 87 88### UsbdRequestCallback 89 90``` 91typedef void(* UsbdRequestCallback) (uint8_t *requestArg) 92``` 93 94**描述** 95 96 97请求回调函数 98 99 100## 枚举类型说明 101 102 103### UsbdBulkCbCmd 104 105``` 106enum UsbdBulkCbCmd 107``` 108 109**描述** 110 111 112批量回调命令字。 113 114**起始版本:** 3.0 115 116| 枚举值 | 描述 | 117| -------- | -------- | 118| CMD_USBD_BULK_CALLBACK_READ | 批量回调读取 | 119| CMD_USBD_BULK_CALLBACK_WRITE | 批量回调写入 | 120 121 122### UsbdDeviceAction 123 124``` 125enum UsbdDeviceAction 126``` 127 128**描述** 129 130 131主机端和设备端插拔事件。 132 133**起始版本:** 3.0 134 135| 枚举值 | 描述 | 136| -------- | -------- | 137| ACT_DEVUP | 主机端接入设备 | 138| ACT_DEVDOWN | 主机端拔出设备 | 139| ACT_UPDEVICE | 设备连接 | 140| ACT_DOWNDEVICE | 设备断开 | 141 142 143## 变量说明 144 145 146### USB_ENDPOINT_DIR_IN 147 148``` 149const int32_t USB_ENDPOINT_DIR_IN = 0x80 150``` 151 152**描述** 153 154 155USB Endpoint从设备到主机的数据方向 156 157 158### USB_ENDPOINT_DIR_MASK 159 160``` 161const int32_t USB_ENDPOINT_DIR_MASK = 0x80 162``` 163 164**描述** 165 166 167从地址中提取USB Endpoint方向的位掩码 168 169 170### USB_ENDPOINT_DIR_OUT 171 172``` 173const int32_t USB_ENDPOINT_DIR_OUT = 0 174``` 175 176**描述** 177 178 179USB Endpoint从主机到设备的数据方向 180