
/**
  @page OutputCompareToggleMode AN2592 OutputCompareToggleMode Readme file
  
  @verbatim
  ******************** (C) COPYRIGHT 2009 STMicroelectronics *******************
  * @file     OutputCompareToggleMode/readme.txt 
  * @author   MCD Application Team
  * @version  V3.0.0
  * @date     04/27/2009
  * @brief    Description of the AN2592 Application note's OutputCompareToggleMode
  *           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 demonstrates how to perform a long range output compare, toggle mode,
using timer link system.

Two timers are used for this example TIM2 and TIM3, they are synchronized as follows:
- TIM2 is configured to be used as slave for the TIM3.
- TIM2 is used in One Pulse Mode: at each pulse received on its input, a pulse 
  will be generated after the delay loaded in the corresponding registers (TIM2_CCRx). 
- TIM3 generates the input signal for TIM2.
  TIM3 OC1 signal  is used as Trigger Output(TRGO), this event will trigger the 
  slave Timer (TIM2) counter, so the slave mode	is the Trigger mode.
  
  TIM3 Configuration: 
  - Output Compare Active Mode: the TIM3 delay is the MSB part of the TIM2 output signal.
  - TIM3CLK = 72MHz
  - Prescaler = 65535

  TIM2 Configuration: 
  - Output Compare Active Mode: the TIM2 delays are the LSB parts of the TIM2 output signals.
  - TIM2CLK = 72MHz
  - Prescaler = 0 
 
  TIM2 Output Compare delays compute:

  - CC1 delay = (MSB*65535 + LSB1)  / TIM2CLK  
              = 1.25 ms

  - CC2 delay = (MSB*65535 + LSB2)  / TIM2CLK 
              = 1.48 ms 

  - CC3 delay = (MSB*65535 + LSB3)  / TIM2CLK 
              = 1.76 ms 

@par Directory contents 

  - OutputCompareToggleMode/inc/stm32f10x_conf.h  Library Configuration file
  - OutputCompareToggleMode/src/stm32f10x_it.c    Interrupt handlers
  - OutputCompareToggleMode/inc/stm32f10x_it.h    Interrupt handlers header file
  - OutputCompareToggleMode/src/main.c            Main program

@par Hardware and Software environment 

  - This example runs on STM32F10x High-Density, STM32F10x Medium-Density and
    STM32F10x Low-Density Devices.
  
  - This example has been tested with STMicroelectronics STM3210E-EVAL (STM32F10x 
    High-Density) and STM3210B-EVAL (STM32F10x Medium-Density) evaluation boards 
    and can be easily tailored to any other supported device and development 
    board.

  - STM3210E-EVAL and STM3210B-EVAL Set-up 
    - Connect the following pins to an oscilloscope to monitor the different waveform:
        - PA.00 (TIM2_CH1)
        - PA.01 (TIM2_CH2)
        - PA.02 (TIM2_CH3)
        - PB.00
  
@par How to use it ?  

 - RVMDK 
    - Open the Timer_OutputCompare_Toggle.Uv2 project
    - In the build toolbar select the project config:
        - STM3210B-EVAL: to configure the project for STM32 Medium-density devices
        - STM3210E-EVAL: to configure the project for STM32 High-density devices
    - Rebuild all files: Project->Rebuild all target files
    - Load project image: Debug->Start/Stop Debug Session
    - Run program: Debug->Run (F5)    

 - EWARM5 
    - Open the Timer_OutputCompare_Toggle.eww workspace.
    - In the workspace toolbar select the project config:
        - STM3210B-EVAL: to configure the project for STM32 Medium-density devices
        - STM3210E-EVAL: to configure the project for STM32 High-density devices
    - Rebuild all files: Project->Rebuild all
    - Load project image: Project->Debug
    - Run program: Debug->Go(F5)

 - RIDE 
    - Open the Timer_OutputCompare_Toggle.rprj project.
    - In the configuration toolbar(Project->properties) select the project config:
       - STM3210B-EVAL: to configure the project for STM32 Medium-density devices
       - STM3210E-EVAL: to configure the project for STM32 High-density devices
    - Rebuild all files: Project->build project
    - Load project image: Debug->start(ctrl+D)
    - Run program: Debug->Run(ctrl+F9)  

@note
 - Low-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 16 and 32 Kbytes.
 - Medium-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 32 and 128 Kbytes.
 - High-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 256 and 512 Kbytes.

 * <h2><center>&copy; COPYRIGHT 20009 STMicroelectronics</center></h2>
 */
