/**
  ******************************************************************************
  * 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) 2021 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2022-03-17	V1.0.0	AE TEAM

<--------------------------------------------------------------------------------
例程介紹:
--------------------------------------------------------------------------------->
本示例功能：利用AD16C4T1 Trigger GP16C4T1,GP16C4T2,GP16C4T3,GP32C4T1,GP16C2T1,GP16C2T2,GP16C2T3,GP16C2T4同時輸出28路PWM

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试板；
ES-PDS-ES32F0271-V1.3(ES32F0283芯片)

<--------------------------------------------------------------------------------
設定注意事項：
--------------------------------------------------------------------------------->
1. AD16C4T1設定為master mode
md_ad16c4t1_set_con2_mmsel(AD16C4T1, MD_AD16C4T1_MASTERMODE_ENABLE);

2. AD16C4T1要開啟同步功能
md_ad16c4t1_enable_smcon_mscfg(AD16C4T1);

3. 其餘Timer需開啟slave mode trigger
md_gp32c4t1_set_smcon_smods(GP32C4T1, MD_GP32C4T1_SLAVEMODE_TRIGGER);
md_gp16c4tn_set_smcon_smods(GP16C4T1, MD_GP16C4Tn_SLAVEMODE_TRIGGER);
md_gp16c4tn_set_smcon_smods(GP16C4T2, MD_GP16C4Tn_SLAVEMODE_TRIGGER);
md_gp16c4tn_set_smcon_smods(GP16C4T3, MD_GP16C4Tn_SLAVEMODE_TRIGGER);
md_gp16c2tn_set_smcon_smods(GP16C2T1, MD_GP16C2Tn_SLAVEMODE_TRIGGER);
md_gp16c2tn_set_smcon_smods(GP16C2T2, MD_GP16C2Tn_SLAVEMODE_TRIGGER);
md_gp16c2tn_set_smcon_smods(GP16C2T3, MD_GP16C2Tn_SLAVEMODE_TRIGGER);
md_gp16c2tn_set_smcon_smods(GP16C2T4, MD_GP16C2Tn_SLAVEMODE_TRIGGER);
4.設定完後最後才開啟AD16C4T1 Enable
md_ad16c4t1_enable_con1_cnten(AD16C4T1);

<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->
1. 测试环境需要共GND
2. 這邊須注意GP16C2T3 CH2有使用到SWD腳位，在燒入完成後會被切為GP16C2T3 CH2腳位，
如需重新燒入程序，需先按住reset再進行燒入

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
HRC48 MHz.

<--------------------------------------------------------------------------------
Pin connection:
--------------------------------------------------------------------------------->
RX(JP7):       PB06(UART1_TX - Output pin)
TX(JP6):       PB07(UART1_RX - Input pin)

<--------------------------------------------------------------------------------
PWM:
--------------------------------------------------------------------------------->
PWM頻率 : 20K
PWM duty : 50%

PWM 使用腳位:
AD16C4T1: PA8
          PA9
          PA10
          PA11
GP32C4T1: PA0      
          PA1
          PA2
          PA3
GP16C4T1: PA4         
          PA5
          PA6
          PA7
GP16C4T2: PB4         
          PC7
          PB0
          PB1
GP16C4T3: PC0         
          PC2
          PB11
          PB10 
GP16C2T1: PB15         
          PB2
GP16C2T2: PB13         
          PB3          
GP16C2T3: PB9         
          PA13
GP16C2T4: PB12        
          PB14         
          
          
          
          