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