/**
  ******************************************************************************
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * Copyright (C) 2022 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2023-04-17       V1.0.0      AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：4个CDC设备的复合USB设备，每个cdc包含2个真实的数据端点和1个虚假控制端点。
该例程的main.h中的宏ES_TEST_USE_IRQ_TRANSFER决定例程使用轮询/中断的方式收发数据。

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板；
ES-PDS-ES32VF2264LT
需要对开发板进行如下操作：
1.闭合JP1、JP2、JP3、JP4。
2.断开SB1、SB2、SB3。

辅助工具：
ES-BUR-ESLINK2OB
UART转串口工具（ES-BUR-ESLINK2OB、ES-Bridge等）

辅助软件：
XCOM上位机软件
ES-USB-Lab

<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
1) 编译工程，编译通过后将程序下载到目标芯片；
2) 打开XCOM上位机软件，配置参数（波特率-115200，1位停止位，8位数据位，无奇偶校验），打开串口；
3) 复位芯片，或在线调试，运行程序；
4) 等待USB设备枚举完成。
5) 使用XCOM窗口,打开被枚举的CDC设备，收发数据。

<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->


<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
PLL  48M

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
CDC USB设备1
CUART0_TX(PA9)
CUART0_RX(PA10)

CDC USB设备2
CUART1_TX(PC10)
CUART1_RX(PC11)

CDC USB设备3
EUART0_TX(PB5)
EUART0_RX(PB4)

CDC USB设备4
EUART2_TX(PC14)
EUART2_RX(PA5)