/**
  @page TIM_Asymetric TIM_Asymetric
  
  @verbatim
  ******************** (C) COPYRIGHT 2015 STMicroelectronics *******************
  * @file    TIM/TIM_Asymetric/readme.txt 
  * @author  MCD Application Team
  * @version V1.1.3
  * @date    15-December-2021
  * @brief   TIM Asymetric Example Description.
  ******************************************************************************
  *
  * Copyright (c) 2015 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
   @endverbatim

@par Example Description 

This example shows how to configure the TIM peripheral to generate an Asymetric signal.
TIM8 is configured to generate an Asymetric signal with a programmable Phase-Shifted signal on TIM8_CH2:
	 - TIM8 Channel 1 is configured in PWM2 mode
	 - TIM8 Channel 2 is configured in Asymetric PWM2 mode
	 - The counter mode is center aligned mode
	 - The pulse length and the phase shift are programmed consecutively in TIM8_CCR2 and TIM8_CCR1.

TIM1 is configured to generating the reference signal on Channel1 used by TIM8:
	 - TIM1 is generating a PWM signal with frequency equal to 1.6363 KHz.
	 - TIM1 is used as master for TIM8, the update event of TIM1 generates the Reset counter
	   of TIM8 to synchronize the two signals: the reference signal (TIM1_CH1) and the shifted signal (TIM8_CH2). 
	   
In this example TIM1 and TIM8 input clock (TIM8CLK) is set to APB2 clock (PCLK2)    
TIM1 and TIM8 signals are at frequency of  (SystemCoreClock / (Period + 1))  
               
TIM8 is generating a signal with the following characteristics:
	- Pulse length = (TIM8_CCR1 + TIM8_CCR2) / TIM8_CLK
	- Phase shift = TIM8_CCR2/TIM8_CLK
 with TIM8_CLK = (SystemCoreClock / (Period + 1)), as the prescaler is equal to zero. 
 The Pulse is low level of the output signal of Channel 2 because TIM cannel is configured as Asymetric PWM2 mode.

@par Directory contents 

  - TIM/TIM_Asymetric/stm32f30x_conf.h    Library Configuration file
  - TIM/TIM_Asymetric/stm32f30x_it.c      Interrupt handlers
  - TIM/TIM_Asymetric/stm32f30x_it.h      Interrupt handlers header file
  - TIM/TIM_Asymetric/main.c              Main program
  - TIM/TIM_Asymetric/system_stm32f30x.c  stm32f30x system source file
  
@note The "system_stm32f30x.c" is generated by an automatic clock configuration 
      system and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F30x_Clock_Configuration_V1.0.0.xls" 
      provided with the AN4152 package available on <a href="http://www.st.com/internet/mcu/family/141.jsp">  ST Microcontrollers </a>
  
@par Hardware and Software environment

  - This example runs on STM32F303xC and STM32F303xE Devices.
  
  - This example has been tested with STMicroelectronics STM32303C-EVAL (STM32F30x)
    evaluation board and can be easily tailored to any other supported device 
    and development board.

  - STM32303C-EVAL Set-up
    - Connect the following pins to an oscilloscope to monitor the different 
      waveforms:
       - PA.08 (TIM1_CH1)
       - PC.07 (TIM8_CH2)
    The shift is measured using the TIM1_CH1 as reference signal.
    
@par How to use it ? 

In order to make the program work, you must do the following :
 - Copy all source files from this example folder to the template folder under
   Projects\STM32F30x_StdPeriph_Templates
 - Open your preferred toolchain 
 - Rebuild all files and load your image into target memory
 - Run the example
    

 */
