From 6102c15f1963d4508ad061827cb3aa67d57b5ac8 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Wed, 13 Jul 2022 22:46:24 +0800 Subject: [PATCH] update rst --- docs/source/api/api_port.rst | 10 +++--- docs/source/index.rst | 3 +- .../usb/{usb_basic.rst => usb2.0_basic.rst} | 2 +- docs/source/usb/usb3.0_basic.rst | 33 +++++++++++++++++++ docs/source/usb/usb_desc.rst | 9 +++++ 5 files changed, 51 insertions(+), 6 deletions(-) rename docs/source/usb/{usb_basic.rst => usb2.0_basic.rst} (99%) create mode 100644 docs/source/usb/usb3.0_basic.rst diff --git a/docs/source/api/api_port.rst b/docs/source/api/api_port.rst index ddb80fa4..fd559ae5 100644 --- a/docs/source/api/api_port.rst +++ b/docs/source/api/api_port.rst @@ -130,6 +130,8 @@ usbd_ep_write - **ret_bytes** 实际发送的长度,异步传输该参数无效。 **如果长度为 0,表示发送 0 长数据包(zero length packet)** - **return** 返回 0 表示正确,其他表示错误 +.. note:: 如果第一次在非中使用,该函数也是异步的哦,只有第二次调用会变成阻塞,所以可以配合完成中断当非阻塞用 + usbd_ep_read """""""""""""""""""""""""""""""""""" @@ -145,7 +147,7 @@ usbd_ep_read - **ret_bytes** 实际接收的长度 - **return** 返回 0 表示正确,其他表示错误 -usbd_ep_write_async +usbd_ep_write_async(todo) """""""""""""""""""""""""""""""""""" ``usbd_ep_write_async`` 向某个端点发送数据, 该函数为异步传输。 **此函数对用户开放**。 @@ -159,7 +161,7 @@ usbd_ep_write_async - **data_len** 发送长度,需要小于等于端点最大包长 - **return** 返回 0 表示正确,其他表示错误 -usbd_ep_read_async +usbd_ep_read_async(todo) """""""""""""""""""""""""""""""""""" ``usbd_ep_read_async`` 预先设置一块内存,并启动接收,通常配合 dma 使用,接收完成以后,触发注册的 out 中断。此函数一般在支持高速或者超高速的 ip 中使用,达到极致的带宽,如果 ip 没有该功能,则禁止使用。 **此函数对用户开放**。 @@ -173,7 +175,7 @@ usbd_ep_read_async - **data_len** 接收长度,需要小于等于端点最大包长,推荐直接设置成最大包长。 **如果长度为 0 表示准备接收 0 包** - **return** 返回 0 表示正确,其他表示错误 -usbd_ep_get_read_len +usbd_ep_get_read_len(todo) """""""""""""""""""""""""""""""""""" ``usbd_ep_get_read_len`` 获取实际接收长度,此函数搭配 ``usbd_ep_read_async`` 使用。 **此函数对用户开放**。 @@ -185,7 +187,7 @@ usbd_ep_get_read_len - **ep** out 端点地址 - **return** 实际接收长度 -usbd_ep_get_mps +usbd_ep_get_mps(todo) """""""""""""""""""""""""""""""""""" ``usbd_ep_get_mps`` 查询端点最大数据包长。 **此函数对用户开放**。 diff --git a/docs/source/index.rst b/docs/source/index.rst index bf88bb3e..072aea4c 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -35,7 +35,8 @@ CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 :maxdepth: 1 :caption: USB 基本知识点 - usb/usb_basic + usb/usb2.0_basic + usb/usb3.0_basic usb/usb_desc usb/usb_request usb/usb_enum diff --git a/docs/source/usb/usb_basic.rst b/docs/source/usb/usb2.0_basic.rst similarity index 99% rename from docs/source/usb/usb_basic.rst rename to docs/source/usb/usb2.0_basic.rst index e44ba115..92ba791d 100644 --- a/docs/source/usb/usb_basic.rst +++ b/docs/source/usb/usb2.0_basic.rst @@ -1,4 +1,4 @@ -USB 基本概念 +USB 基本概念(2.0 为主) =========================== 本文主要对 USB 官方手册 `usb2.0.pdf `_ 中提供的第五章、第七章、第八章、第九章进行讲解。 diff --git a/docs/source/usb/usb3.0_basic.rst b/docs/source/usb/usb3.0_basic.rst new file mode 100644 index 00000000..1dbbd815 --- /dev/null +++ b/docs/source/usb/usb3.0_basic.rst @@ -0,0 +1,33 @@ +USB 基本概念(3.0 为主) +=========================== + + +简介 +------------ + + + +与 USB 2.0 相同和不同点 +-------------------------- + + +Link Layer +-------------------- + +LCW +^^^^^^^^^^ + +Protocol Layer +-------------------- + +LMP +^^^^^^^^^^^^^^^^^^^^^^^^ + +TP +^^^^^^^^^^^^^^^^^^^^^^^^ + +DP +^^^^^^^^^^^^^^^^^^^^^^^^ + +ITP +^^^^^^^^^^^^^^^^^^^^^^^^ \ No newline at end of file diff --git a/docs/source/usb/usb_desc.rst b/docs/source/usb/usb_desc.rst index 1abd42a4..f0bcc7fe 100644 --- a/docs/source/usb/usb_desc.rst +++ b/docs/source/usb/usb_desc.rst @@ -26,3 +26,12 @@ USB 描述符 其他速度描述符 --------------------- + +BOS 描述符 +--------------------- + +超高速端点伴随描述符 +--------------------- + +增加型超高速同步端点伴随描述符 +-------------------------------