/** @page TIM1_6Steps Six-step PWM signal generation using TIM1

  @verbatim
  ******************** (C)COPYRIGHT 2011 STMicroelectronics *******************
  * @file    TIM1/TIM1_6Steps/readme.txt
  * @author  MCD Application Team
  * @version V2.1.0
  * @date    18-November-2011
  * @brief   Description of the TIM1 6 steps Example.
  ******************************************************************************
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  ******************************************************************************
   @endverbatim
   
  @par Example description

  This example shows how to configure the TIM1 peripheral to generate 6 Steps.
  The TIM1 peripheral offers the possibility to program in advance the 
  configuration for the next TIM1 outputs behaviour (step) and change the
  configuration of all the channels at the same time. This operation is possible
  when the COM(commutation) event is used.
  
  The COM event can be generated by software by setting the COM bit in the TIM1_EGR
  register or by hardware (on TRC rising edge).
  In this example, a software COM event is generated each 180 ms: using the TIM4
  Update interrupt.
  The TIM1 is configured in Timing Mode, each time a COM event occurs, a new TIM1
  configuration will be set in advance.


The following Table describes the TIM1 Channels states:

 @code
              ***********************************************
             | Step1 | Step2 | Step3 | Step4 | Step5 | Step6|
   **********************************************************
  |Channel1  |   1   |   0   |   0   |   0   |   0   |   1  |
   **********************************************************
  |Channel1N |   0   |   0   |   1   |   1   |   0   |   0  |
   **********************************************************
  |Channel2  |   0   |   0   |   0   |   1   |   1   |   0  |
   **********************************************************
  |Channel2N |   1   |   1   |   0   |   0   |   0   |   0  |
   **********************************************************
  |Channel3  |   0   |   1   |   1   |   0   |   0   |   0  |
   **********************************************************
  |Channel3N |   0   |   0   |   0   |   0   |   1   |   1  |
   **********************************************************
 @endcode   
   

  The TIM1 waveform can be displayed using an oscilloscope.


  @par Directory contents

  - TIM1\TIM1_6Steps\main.c            Main file containing the "main" function
  - TIM1\TIM1_6Steps\stm8s_conf.h      Library Configuration file
  - TIM1\TIM1_6Steps\stm8s_it.c        Interrupt routines source 
  - TIM1\TIM1_6Steps\stm8s_it.h        Interrupt routines declaration
  

  @par Hardware and Software environment

  - This example runs on STM8S and STM8A High density, Medium density and Low 
    density devices.
  
  - This example has been tested with STMicroelectronics STM8/128-EVAL evaluation 
    board and can be easily tailored to any other development board.

  - Connect TIM1 pins to an oscilloscope as follows:
     - TIM1_CH1  pin (PC.1)  
     - TIM1_CH1N pin (PH.7)  
     - TIM1_CH2  pin (PC.2)  
     - TIM1_CH2N pin (PH.6)  
     - TIM1_CH3  pin (PC.3)  
     - TIM1_CH3N pin (PH.5)


  @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
    Project\Template
  - Open your preferred toolchain 
  - Rebuild all files and load your image into target memory
  - Run the example
  - Connect the TIM1 pins to an oscilloscope 

  @note
  - High-Density STM8A devices are the STM8AF52xx STM8AF6269/8x/Ax,
    STM8AF51xx, and STM8AF6169/7x/8x/9x/Ax microcontrollers where the Flash memory
    density ranges between 32 to 128 Kbytes
  - Medium-Density STM8A devices are the STM8AF622x/4x, STM8AF6266/68,
    STM8AF612x/4x, and STM8AF6166/68 microcontrollers where the Flash memory 
    density ranges between 8 to 32 Kbytes
  - High-Density STM8S devices are the STM8S207xx, STM8S007 and STM8S208xx microcontrollers
    where the Flash memory density ranges between 32 to 128 Kbytes.
  - Medium-Density STM8S devices are the STM8S105x and STM8S005 microcontrollers
    where the Flash memory density ranges between 16 to 32-Kbytes.
  - Low-Density STM8S devices are the STM8S103xx, STM8S003 and STM8S903xx microcontrollers
    where the Flash density is 8 Kbytes.
      
 * <h3><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h3>
 */
