summaryrefslogtreecommitdiff
path: root/docs/source/demo
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2025-12-16 20:16:57 +0800
committersakumisu <[email protected]>2025-12-17 14:23:38 +0800
commitbaf2a56c93c1ac598766c19d46e6df97974e6f10 (patch)
tree3c503295c521d784b4e8b6c7387350eef9f33078 /docs/source/demo
parent7b9b396ab4b393155c39cbdc343a3c121589a0a1 (diff)
docs: update rst
Signed-off-by: sakumisu <[email protected]>
Diffstat (limited to 'docs/source/demo')
-rw-r--r--docs/source/demo/usbd_webusb.rst2
-rw-r--r--docs/source/demo/usbd_winusb.rst20
-rw-r--r--docs/source/demo/usbh_net.rst2
-rw-r--r--docs/source/demo/usbh_serial.rst2
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;
}
}