﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2024-09-13      CDT         7.70      5.36      gcc-arm-none-eabi-10.3-2021.10-win32

================================================================================
平台说明
================================================================================
GCC工程，由Eclipse IDE外挂GNU-ARM Toolchain，再结合pyOCD GDB Server实现工程的编译、
链接和调试。在用Eclipse导入工程后，请将xxxx_PyOCDDebug中pyocd-gdbserver和SVD文件
设置为正确的路径；请将xxxx_PyOCDDownload中pyocd设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本样例主要展示MCU USB外设实现的USB Host CDC功能，Host主动发送数据到Device，验证是否
可以收到Device返回的相同数据，以验证CDC通信是否正常。
（为了实现Device自动返回数据，需将Device的UART TX和RX进行短接）。

说明：测试连接示意图如下
                             host tx data --->--------------------------------┐
 +--------------+                                                             |
 |PC Serial Port|         +----------------+        +-----------------+       |
 |  Assistant   |         |      USB       |        |      USB      TX+----+  |
 |              |      XXX|DAP   Host   USB|XXXXXXXX|USB   Device     |    |  |
 +--------------+     XX  |      Board     |        |      Board    RX+----+  |
     |-----|         XX   +----------------+        +-----------------+       |
+----------------+XXXX                                                        |
+----------------+           host rx data ---<--------------------------------┘

================================================================================
测试环境
================================================================================
测试用板:
---------------------
EV_A4A8_LQ176_Rev1.0

辅助工具:
---------------------
USB转串口工具

辅助软件:
---------------------
串口调试助手软件（115200bps，8N1）

================================================================================
使用步骤
================================================================================
1）打开工程编译并全速运行在主机开发板上，使用主机板载DAP虚拟串口查看运行输出信息；
2）通过Micro USB口连接OTG转接线（连接口详见注意事项1），再接上CDC设备；
  （使用另一块HC32开发板烧录usb_dev_cdc样例获得该CDC设备）
3）设备枚举完成后，主机DAP虚拟串口提示：
   “Please short the CDC device's UART TX and RX, then press host's K1 to test”；
4）按提示短接CDC设备的串口数据TX和RX端口（端口丝印见对应的usb_dev_cdc样例说明）；
5）按下主机的K1按键，观察测试结果是否为通过：
   通过：主机开发板蓝色亮起，且DAP虚拟串口提示“CDC Test passed”；
   失败：主机开发板红灯亮起，且DAP虚拟串口提示“CDC Test failed”；
   超时：主机开发板红灯亮起，且DAP虚拟串口提示“CDC Test timeout”。

================================================================================
注意
================================================================================
1.本样例支持模式说明：
1）USBFS模式（连接J21）
  使能宏定义：USB_FS_MODE
  不使能宏定义：USB_HS_MODE与USB_HS_EXTERNAL_PHY
2）USBHS的FS模式（连接J19）
  使能宏定义：USB_HS_MODE
  不使能宏定义：USB_FS_MODE与USB_HS_EXTERNAL_PHY
3）USBHS模式（连接J14）
  使能宏定义：USB_HS_MODE与USB_HS_EXTERNAL_PHY
  不使能宏定义：USB_FS_MODE

2.如样例功能失败，可能由于开发板上USB外部PHY芯片状态导致，需要对开发板断电后再次运行代码。
3.运行USB主机代码时，开发板J35需要外接5V电源
4.CDC设备的串口数据收发使用的端口，请参考对应的usb_dev_cdc样例说明。
================================================================================
