diff options
| author | sakumisu <[email protected]> | 2025-12-16 20:16:57 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2025-12-17 14:23:38 +0800 |
| commit | baf2a56c93c1ac598766c19d46e6df97974e6f10 (patch) | |
| tree | 3c503295c521d784b4e8b6c7387350eef9f33078 /docs/source/demo | |
| parent | 7b9b396ab4b393155c39cbdc343a3c121589a0a1 (diff) | |
docs: update rst
Signed-off-by: sakumisu <[email protected]>
Diffstat (limited to 'docs/source/demo')
| -rw-r--r-- | docs/source/demo/usbd_webusb.rst | 2 | ||||
| -rw-r--r-- | docs/source/demo/usbd_winusb.rst | 20 | ||||
| -rw-r--r-- | docs/source/demo/usbh_net.rst | 2 | ||||
| -rw-r--r-- | docs/source/demo/usbh_serial.rst | 2 |
4 files changed, 22 insertions, 4 deletions
diff --git a/docs/source/demo/usbd_webusb.rst b/docs/source/demo/usbd_webusb.rst index 74a22101..0df9bef6 100644 --- a/docs/source/demo/usbd_webusb.rst +++ b/docs/source/demo/usbd_webusb.rst @@ -15,7 +15,7 @@ usbd_webusb .. code-block:: C -USB_INTERFACE_DESCRIPTOR_INIT(USBD_WEBUSB_INTF_NUM, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00) + USB_INTERFACE_DESCRIPTOR_INIT(USBD_WEBUSB_INTF_NUM, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00) - 其余使用 hid 描述符,不再赘述 - 枚举完成后,电脑右下角会弹出网页信息,点击即可打开网页
\ No newline at end of file diff --git a/docs/source/demo/usbd_winusb.rst b/docs/source/demo/usbd_winusb.rst index a3d02852..bd790188 100644 --- a/docs/source/demo/usbd_winusb.rst +++ b/docs/source/demo/usbd_winusb.rst @@ -4,6 +4,8 @@ usbd_winusb 本节主要介绍 winusb 驱动。winusb 是 windows 为了让用户友好的访问 USB 自定义类设备提供的一套通用驱动,其实本质就是 CDC ACM。 WINUSB 版本根据 USB 版本分为 V1/V2 版本,V2 版本需要包含 BOS 描述符,V1 版本不需要。V2 版本需要在设备描述符中设置为 USB2.1 的版本号。 +.. note:: 如果使用复合设备,必须使用 V2 版本的 winusb 驱动。 + - V1 版本注册描述符 .. code-block:: C @@ -29,4 +31,20 @@ WINUSB 版本根据 USB 版本分为 V1/V2 版本,V2 版本需要包含 BOS � /* Endpoint IN 1 */ USB_ENDPOINT_DESCRIPTOR_INIT(WINUSB_IN_EP, USB_ENDPOINT_TYPE_BULK, WINUSB_EP_MPS, 0x00), -- 其余操作与 CDC ACM 相同,不再赘述
\ No newline at end of file +- 其余操作与 CDC ACM 相同,不再赘述 + +在 V2 版本中,WINUSB 需要提供 WCID 描述符,有两个宏,分别是 `USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_SINGLE_DESCRIPTOR_INIT` 和 `USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_MULTI_DESCRIPTOR_INIT`,这里需要注意, +前者用于单 WINUSB 设备(也就是接口总数只能是1),后者用于复合设备,可以使用 1 ~ 多个 WINUSB 接口的设备。因此,即使同样是 1个 WINUSB 设备,不同情况宏的配置也是不一样的,只能说,微软工程师的脑回路就是跟正常人不一样。 + +.. code-block:: C + + const uint8_t WINUSB_WCIDDescriptor[] = { + #if WINUSB_NUM == 1 + USB_MSOSV2_COMP_ID_SET_HEADER_DESCRIPTOR_INIT(10 + USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_SINGLE_DESCRIPTOR_LEN), + USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_SINGLE_DESCRIPTOR_INIT(), + #else + USB_MSOSV2_COMP_ID_SET_HEADER_DESCRIPTOR_INIT(10 + WINUSB_NUM * USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_MULTI_DESCRIPTOR_LEN), + USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_MULTI_DESCRIPTOR_INIT(0x00), + USB_MSOSV2_COMP_ID_FUNCTION_WINUSB_MULTI_DESCRIPTOR_INIT(0x01), + #endif + };
\ No newline at end of file diff --git a/docs/source/demo/usbh_net.rst b/docs/source/demo/usbh_net.rst index b2656dca..d664a34f 100644 --- a/docs/source/demo/usbh_net.rst +++ b/docs/source/demo/usbh_net.rst @@ -105,4 +105,4 @@ TCPIP_THREAD_STACKSIZE 推荐大于 1K,防止栈溢出。 #error TCPIP_THREAD_STACKSIZE must be >= 1024 #endif -- 具体移植文章可以参考 https://club.rt-thread.org/ask/article/5cf3e9e0b2d95800.html
\ No newline at end of file +- 具体移植文章可以参考开发者的一些笔记 https://club.rt-thread.org/ask/article/5cf3e9e0b2d95800.html
\ No newline at end of file diff --git a/docs/source/demo/usbh_serial.rst b/docs/source/demo/usbh_serial.rst index 0599ddb1..3e06561a 100644 --- a/docs/source/demo/usbh_serial.rst +++ b/docs/source/demo/usbh_serial.rst @@ -71,7 +71,7 @@ Serial 框架当前支持 cdc acm, ftdi, cp210x, ch34x, pl2303,gsm 驱动。 goto delete_with_close; } } - USB_LOG_RAW("serial loopback test success\r\n"); + serial_test_success = true; break; } } |
