﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2022-03-31      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虚拟出1路CDC和1路HID的复合设备功能，对于CDC，上位机向所虚拟的CDC接口发送数据，MCU接收
到以后通过串口USART6输出；USART6接收到数据时，通过USB所虚拟的CDC向上位机输出。对于HID，上位机可通过Bus Hound向
对应的HID的OUT端点发送数据，控制评估板上的红色和蓝色LED，设备收到该数据以后将返回通用数据给上位机。

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

辅助工具:
---------------------

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

================================================================================
使用步骤
================================================================================
1）使用USB连接线通过评估板的USB micro口连接到PC（详见注意事项）；
2）打开工程编译并全速运行（若是可通过DAP调试，则可使用DAP自带的虚拟串口观察调试信息）；
CDC功能
3）安装CDC VCP driver（Win10系统自动安装，可忽略此步骤）
4) 第三步成功后，windows设备管理器会出现虚拟COM口,该COM口对应硬件UART如下：
   UART_TX -- J9 TX
   UART_RX -- J9 RX
   短接TX和RX可在PC端对虚拟COM口进行数据自发自收测试。
HID功能
5）点击按键K10 HID设备会通过IN端点发出按键信息，
6）在PC端使用Bus Hound通过OUT端点向设备发送数据可以控制LED的状态
   发送 0x01 0x00 熄灭红色LED
   发送 0x01 0x01 点亮红色LED
   发送 0x02 0x00 熄灭蓝色LED
   发送 0x02 0x01 点亮蓝色LED

================================================================================
注意
================================================================================
本样例支持模式说明：
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
  若板子先上电运行，再通过J14接入主机：则需确保上电或复位前J24已短接（外部PHY电路接通）；
  若只通过J14对评估板进行供电，或程序开始运行时已提前通过J14接入主机，则J24无需短接。
================================================================================
