OTG 功能的使用
+USB OTG
如果需要使用 OTG 功能,首先使用的芯片需要支持 ID 检测功能,然后使能 CONFIG_USB_OTG_ENABLE 宏,将之前的例程中 usbh_initialize 或者 usbh_initialize
替换成 usbotg_initialize 即可。
ID 检测电路根据不同的 USB 接口类型有所不同,常见的有 micro-USB 和 USB-C 两种接口类型。
@@ -180,14 +183,14 @@diff --git a/.buildinfo b/.buildinfo index c4c3208d..5de99b7a 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 10d648376922617e3b66d8cee9b2151e +config: 779d7c6ddce556ad574be889bf8728ab tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_sources/api/api_device.rst.txt b/_sources/api/api_device.rst.txt index bc8cb100..4c6617b1 100644 --- a/_sources/api/api_device.rst.txt +++ b/_sources/api/api_device.rst.txt @@ -260,6 +260,7 @@ MSC usbd_msc_init_intf """""""""""""""""""""""""""""""""""" + ``usbd_msc_init_intf`` 用来初始化 MSC 类接口,并实现该接口相关函数,并且注册端点回调函数。(因为 msc bot 协议是固定的,所以不需要用于实现,因此端点回调函数自然不需要用户实现)。 - ``msc_storage_class_interface_request_handler`` 用于处理 USB MSC Setup 中断请求。 @@ -326,6 +327,7 @@ UAC usbd_audio_init_intf """""""""""""""""""""""""""""""""""" + ``usbd_audio_init_intf`` 用来初始化 USB Audio 类接口,并实现该接口相关的函数: - ``audio_class_interface_request_handler`` 用于处理 USB Audio Setup 接口接收者中断请求。 @@ -424,6 +426,7 @@ UVC usbd_video_init_intf """""""""""""""""""""""""""""""""""" + ``usbd_video_init_intf`` 用来初始化 USB Video 类接口,并实现该接口相关的函数: - ``video_class_interface_request_handler`` 用于处理 USB Video Setup 中断请求。 diff --git a/_sources/demo/usb_otg.rst.txt b/_sources/demo/usb_otg.rst.txt index 78692cc0..5cb371c6 100644 --- a/_sources/demo/usb_otg.rst.txt +++ b/_sources/demo/usb_otg.rst.txt @@ -1,5 +1,5 @@ -OTG 功能的使用 -========================= +USB OTG +================= 如果需要使用 OTG 功能,首先使用的芯片需要支持 ID 检测功能,然后使能 ``CONFIG_USB_OTG_ENABLE`` 宏,将之前的例程中 ``usbh_initialize`` 或者 ``usbh_initialize`` 替换成 ``usbotg_initialize`` 即可。 diff --git a/_sources/demo/usbd_adb.rst.txt b/_sources/demo/usbd_adb.rst.txt index 92a3043e..6855135d 100644 --- a/_sources/demo/usbd_adb.rst.txt +++ b/_sources/demo/usbd_adb.rst.txt @@ -1,7 +1,7 @@ -usbd_adb -=============== +ADB Device +================= -本节主要介绍如何使用 adb device。支持 **cherrysh** 和 rt-thread **msh**,只需要在 main 中添加以下初始化即可。 +adb device demo 参考 `demo/adb/usbd_adb_template.c` 模板。默认适配 **cherrysh** (`platform/demo/adb/cherrysh_port.c`) 和 **rt-thread msh** (`platform/rtthread/usbd_adb_shell.c`),只需要在 main 中添加以下初始化即可。 .. code-block:: C diff --git a/_sources/demo/usbd_audiov1.rst.txt b/_sources/demo/usbd_audiov1.rst.txt index 794ac8f6..875db6a0 100644 --- a/_sources/demo/usbd_audiov1.rst.txt +++ b/_sources/demo/usbd_audiov1.rst.txt @@ -1,7 +1,10 @@ -usbd_audiov1 -=============== +AudioV1 Device +================= + +UAC1 demo 参考 `demo/audio_v1_*.c` 模板。 在使用 UAC1.0 时,需要注意以下几点: - 在使用windows 时,当修改描述符任意参数时,必须同步修改字符串描述符,并且卸载驱动,否则windows会认为设备未更改,继续使用旧的驱动,导致无法识别设备。Linux 不受此限制。 -- QQ 群文件中下载 RemoveGhostDev64.exe 可以自动删除所有 USB 注册的驱动信息,无需第一步 \ No newline at end of file +- QQ 群文件中下载 RemoveGhostDev64.exe 可以自动删除所有 USB 注册的驱动信息,无需第一步 +- 禁止在中断中添加打印和耗时操作,否则会影响 USB 按照 interval 传输 \ No newline at end of file diff --git a/_sources/demo/usbd_audiov2.rst.txt b/_sources/demo/usbd_audiov2.rst.txt index 0390f17d..d329a29a 100644 --- a/_sources/demo/usbd_audiov2.rst.txt +++ b/_sources/demo/usbd_audiov2.rst.txt @@ -1,5 +1,5 @@ -usbd_audiov2 -=============== +AudioV2 Device +================= 在使用 UAC2.0 时,需要注意以下几点: @@ -7,3 +7,4 @@ usbd_audiov2 - QQ 群文件中下载 RemoveGhostDev64.exe 可以自动删除所有 USB 注册的驱动信息,无需第一步 - windows 10 uac2.0 功能不完善,请使用 windows 11 测试uac2.0 功能。Linux 不受此限制 - windows 中设置的采样率表范围在多通道时(通道数大于2)计算有误,比如设置 8K~96K,那么实际是大于等于8K 小于96K,而非小于等于96K。Linux 不受此限制 +- 禁止在中断中添加打印和耗时操作,否则会影响 USB 按照 interval 传输 \ No newline at end of file diff --git a/_sources/demo/usbd_cdc_acm.rst.txt b/_sources/demo/usbd_cdc_acm.rst.txt index be330b4c..46bdc195 100644 --- a/_sources/demo/usbd_cdc_acm.rst.txt +++ b/_sources/demo/usbd_cdc_acm.rst.txt @@ -1,7 +1,7 @@ -usbd_cdc_acm -=============== +CDC ACM Device +================= -本 demo 主要用于演示 cdc acm 功能,包含收发测试,DTR 控制,ZLP 测试,性能测试。 +本 demo 主要用于演示 cdc acm 功能,参考 `demo/cdc_acm_template.c` 模板。包含收发测试,DTR 控制,ZLP 测试,性能测试。 - 开辟读写 buffer,用于收发数据,并且buffer需要用 nocache 修饰,这里我们读写都是用 2048字节,是为了后面的 ZLP 测试和性能测试使用。 diff --git a/_sources/demo/usbd_ecm.rst.txt b/_sources/demo/usbd_ecm.rst.txt index c4c64ab5..faf736f8 100644 --- a/_sources/demo/usbd_ecm.rst.txt +++ b/_sources/demo/usbd_ecm.rst.txt @@ -1,2 +1,4 @@ -usbd_cdc_ecm -=============== +CDC ECM Device +================= + +ECM demo 参考 `demo/cdc_ecm*.c` 模板。 默认对接 lwip 协议栈,上层使用 lwip api 即可。 \ No newline at end of file diff --git a/_sources/demo/usbd_hid.rst.txt b/_sources/demo/usbd_hid.rst.txt index 68b6b285..acc1c5bb 100644 --- a/_sources/demo/usbd_hid.rst.txt +++ b/_sources/demo/usbd_hid.rst.txt @@ -1,4 +1,4 @@ -usbd_hid -=============== +HID Device +================= -HID 功能比较简单,因此不作赘述,需要注意,使用 hid custom 例程时,需要搭配 `tools/test_srcipts/test_hid_inout.py` 使用。 \ No newline at end of file +HID 功能比较简单,因此不作赘述,需要注意,使用 hid custom 例程时,需要搭配 `tools/test_srcipts/test_hid_inout.py` 使用(携带 report id功能)。 \ No newline at end of file diff --git a/_sources/demo/usbd_msc.rst.txt b/_sources/demo/usbd_msc.rst.txt index ff59aada..1b09a7d2 100644 --- a/_sources/demo/usbd_msc.rst.txt +++ b/_sources/demo/usbd_msc.rst.txt @@ -1,5 +1,5 @@ -usbd_msc -=============== +MSC Device +================= 本节主要演示 USB 模拟 U 盘功能。默认使用RAM 作为存储介质模拟 U 盘。 diff --git a/_sources/demo/usbd_mtp.rst.txt b/_sources/demo/usbd_mtp.rst.txt new file mode 100644 index 00000000..13a5ceb8 --- /dev/null +++ b/_sources/demo/usbd_mtp.rst.txt @@ -0,0 +1,6 @@ +MTP Device +================= + +MTP demo 参考 `demo/mtp_template.c` 模板。 默认适配 fatfs 文件系统(`platform/fatfs/usbd_fatfs_mtp.c`)。 + +.. note:: MTP 为商用收费,不开放 MTP 驱动源码,请联系官方购买授权。 \ No newline at end of file diff --git a/_sources/demo/usbd_rndis.rst.txt b/_sources/demo/usbd_rndis.rst.txt index 40fba402..c90df8f8 100644 --- a/_sources/demo/usbd_rndis.rst.txt +++ b/_sources/demo/usbd_rndis.rst.txt @@ -1,2 +1,4 @@ -usbd_rndis -=============== +CDC RNDIS Device +================= + +RNDIS demo 参考 `demo/cdc_rndis*.c` 模板。 默认对接 lwip 协议栈,上层使用 lwip api 即可。 \ No newline at end of file diff --git a/_sources/demo/usbd_vendor.rst.txt b/_sources/demo/usbd_vendor.rst.txt index b38631b1..47c9ff41 100644 --- a/_sources/demo/usbd_vendor.rst.txt +++ b/_sources/demo/usbd_vendor.rst.txt @@ -1,4 +1,4 @@ -vendor device 驱动编写 +Vendor Device 驱动编写 =========================== 本节主要介绍如何编写一个 vendor device 驱动。 diff --git a/_sources/demo/usbd_video.rst.txt b/_sources/demo/usbd_video.rst.txt index e215abde..2709c2e8 100644 --- a/_sources/demo/usbd_video.rst.txt +++ b/_sources/demo/usbd_video.rst.txt @@ -1,5 +1,5 @@ -usbd_video -=============== +USB Video Device +================= 本节主要演示 USB UAC 功能,支持 YUYV, MJPEG, H264 格式。为了方便演示,都采用的静态图。 diff --git a/_sources/demo/usbd_webusb.rst.txt b/_sources/demo/usbd_webusb.rst.txt index 0df9bef6..fab7850b 100644 --- a/_sources/demo/usbd_webusb.rst.txt +++ b/_sources/demo/usbd_webusb.rst.txt @@ -1,5 +1,5 @@ -usbd_webusb -=============== +WebUSB Device +================= 本 demo 主要演示 webusb 功能,webusb 主要用于弹出网页并对 USB 设备进行访问。示例使用 webusb_hid_template.c。 diff --git a/_sources/demo/usbd_winusb.rst.txt b/_sources/demo/usbd_winusb.rst.txt index 0a6d4de9..aab0ad17 100644 --- a/_sources/demo/usbd_winusb.rst.txt +++ b/_sources/demo/usbd_winusb.rst.txt @@ -1,5 +1,5 @@ -usbd_winusb -=============== +WinUSB Device +================= 本节主要介绍 winusb 驱动。winusb 是 windows 为了让用户友好的访问 USB 自定义类设备提供的一套通用驱动,其实本质就是 CDC ACM,只不过没有设置波特率的命令。 WINUSB 版本根据 USB 版本分为 V1/V2 版本,V2 版本需要包含 BOS 描述符,V1 版本不需要。 **V2 版本需要在设备描述符中设置为 USB2.1 的版本号**。 diff --git a/_sources/demo/usbh_audio.rst.txt b/_sources/demo/usbh_audio.rst.txt new file mode 100644 index 00000000..18933801 --- /dev/null +++ b/_sources/demo/usbh_audio.rst.txt @@ -0,0 +1,4 @@ +Audio Host +================= + +.. note:: Host UAC 为商用收费,请联系官方购买授权。 \ No newline at end of file diff --git a/_sources/demo/usbh_bluetooth.rst.txt b/_sources/demo/usbh_bluetooth.rst.txt index a93844ea..5b06f502 100644 --- a/_sources/demo/usbh_bluetooth.rst.txt +++ b/_sources/demo/usbh_bluetooth.rst.txt @@ -1,2 +1,2 @@ -usbh_bluetooth -=============== +BTBLE Host +================= diff --git a/_sources/demo/usbh_hid.rst.txt b/_sources/demo/usbh_hid.rst.txt index 6d519319..2719bf70 100644 --- a/_sources/demo/usbh_hid.rst.txt +++ b/_sources/demo/usbh_hid.rst.txt @@ -1,7 +1,7 @@ -usbh_hid -=============== +HID Host +================= -本节主要介绍 HID 类的使用。 +本节主要介绍 Host HID 类的使用。 - HID 枚举完成回调中创建一次性线程 diff --git a/_sources/demo/usbh_msc.rst.txt b/_sources/demo/usbh_msc.rst.txt index 83956cc2..524dc5c1 100644 --- a/_sources/demo/usbh_msc.rst.txt +++ b/_sources/demo/usbh_msc.rst.txt @@ -1,7 +1,7 @@ -usbh_msc -=============== +MSC Host +================= -本节主要介绍主机 MSC 使用。借助 FATFS 实现读写功能。 +本节主要介绍 Host MSC 的使用。借助 FATFS 实现读写功能。 - 在 msc 枚举完成的回调中注册一个线程,用于读写操作。 diff --git a/_sources/demo/usbh_net.rst.txt b/_sources/demo/usbh_net.rst.txt index 8757991e..1516f397 100644 --- a/_sources/demo/usbh_net.rst.txt +++ b/_sources/demo/usbh_net.rst.txt @@ -1,7 +1,7 @@ -usbh_net -=============== +Network Host +================= -本节主要介绍 USB 网卡的使用,当前已经支持和测试以下 USB 网卡: +本节主要介绍 Host USB 网卡的使用,当前已经支持和测试以下 USB 网卡: - 4G 网卡:EC20(ECM/RNDIS)、手机(RNDIS)、SIMCOM7600(RNDIS)、ML307R(RNDIS)、AIR780(RNDIS) diff --git a/_sources/demo/usbh_serial.rst.txt b/_sources/demo/usbh_serial.rst.txt index 619545c6..e37a6959 100644 --- a/_sources/demo/usbh_serial.rst.txt +++ b/_sources/demo/usbh_serial.rst.txt @@ -1,7 +1,7 @@ -usbh_serial -=============== +Serial Host +================= -Serial 框架当前支持 cdc acm, ftdi, cp210x, ch34x, pl2303,gsm 驱动。 +本节主要介绍 Host serial 框架的使用。Serial 框架当前支持 cdc acm, ftdi, cp210x, ch34x, pl2303,gsm 驱动。 .. figure:: img/usbh_serial.png diff --git a/_sources/demo/usbh_vendor.rst.txt b/_sources/demo/usbh_vendor.rst.txt index b86bda60..a0b0bb7b 100644 --- a/_sources/demo/usbh_vendor.rst.txt +++ b/_sources/demo/usbh_vendor.rst.txt @@ -1,4 +1,4 @@ -vendor host 驱动编写 +Vendor Host 驱动编写 =========================== 本节主要介绍如何编写一个 vendor host 驱动。 diff --git a/_sources/demo/usbh_video.rst.txt b/_sources/demo/usbh_video.rst.txt new file mode 100644 index 00000000..7de4b457 --- /dev/null +++ b/_sources/demo/usbh_video.rst.txt @@ -0,0 +1,4 @@ +Video Host +================= + +.. note:: Host UVC 为商用收费,请联系官方购买授权。 \ No newline at end of file diff --git a/_sources/demo/usbh_wifi.rst.txt b/_sources/demo/usbh_wifi.rst.txt index be148c7d..588e8131 100644 --- a/_sources/demo/usbh_wifi.rst.txt +++ b/_sources/demo/usbh_wifi.rst.txt @@ -1,2 +1,2 @@ -usbh_wifi -=============== +WIFI Host +================= diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index 831de0a1..343fe322 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -94,28 +94,31 @@ CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 .. toctree:: :maxdepth: 1 - :caption: 例程说明 + :caption: 例程 demo/usbd_cdc_acm demo/usbd_hid demo/usbd_msc - demo/usbd_rndis - demo/usbd_ecm demo/usbd_audiov1 demo/usbd_audiov2 demo/usbd_video demo/usbd_winusb demo/usbd_webusb + demo/usbd_rndis + demo/usbd_ecm demo/usbd_adb + demo/usbd_mtp demo/usbh_serial demo/usbh_hid demo/usbh_msc demo/usbh_net demo/usbh_bluetooth demo/usbh_wifi + demo/usbh_audio + demo/usbh_video + demo/usb_otg demo/usbd_vendor demo/usbh_vendor - demo/usb_otg .. toctree:: :maxdepth: 1 @@ -154,4 +157,4 @@ CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 :maxdepth: 1 :caption: 商业支持 - support/index \ No newline at end of file + support/index diff --git a/api/api_config.html b/api/api_config.html index 8ad3edc2..a17f05dd 100644 --- a/api/api_config.html +++ b/api/api_config.html @@ -117,28 +117,31 @@
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
© Copyright 2022 ~ 2025, sakumisu.
+© Copyright 2022 ~ 2026, sakumisu.
例程说明
+例程
USBIP 介绍
例程说明
+例程
USBIP 介绍