/**
  @page PWR_CurrentConsumption PWR Current Consumption example
  
  @verbatim
  ******************** (C) COPYRIGHT 2012 STMicroelectronics *******************
  * @file    PWR/PWR_CurrentConsumption/readme.txt 
  * @author  MCD Application Team
  * @version V1.0.0
  * @date    18-May-2012
  * @brief   Description of the PWR Current Consumption example.
  ******************************************************************************
  *
  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
  * You may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
  *
  *        http://www.st.com/software_license_agreement_liberty_v2
  *
  * Unless required by applicable law or agreed to in writing, software 
  * distributed under the License is distributed on an "AS IS" BASIS, 
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *
  ******************************************************************************
   @endverbatim

@par PWR PWR_CurrentConsumption example Description 

This example shows how to configure the STM32F0xx system to measure different
Low Power modes current consumption. The Low Power modes are:
  - Sleep Mode
  - STOP mode with RTC
  - STANDBY mode without RTC 
  - STANDBY mode with RTC

To run this example, user has to follow the following steps:
 1. Select the Low power modes to be measured by uncommenting the corresponding
    line inside the stm32f0xx_lp_modes.h file.
    @code
       /*#define SLEEP_MODE*/
       /*#define STOP_MODE*/
       /*#define STANDBY_MODE*/
       #define STANDBY_RTC_MODE
    @endcode       

 2. Use an external amperemeter to measure the IDD current. 

 3. This example can not be used in DEBUG mode as the JTAG IOs are disabled to
    reduce power consumption.

Here below a detailed description of the example code:

 1. After reset, the program waits for KEY button connected to the PB.08 to be 
    pressed to enter the selected low power mode.
     - In SLEEP_MODE, press again the KEY button to exit the low power mode.
     - In STOP_MODE and STANDBY_RTC_MODE, the wakeup from low power mode is automatically 
       generated by the RTC (after ~5s).
     - In STANDBY_MODE test, press again Tamper button to exit the low power mode.
     
 2. Low power modes description:

    - Sleep Mode
    ============  
            - System Running at PLL (48MHz)
            - Flash 1 wait state
            - Code running from Internal FLASH
            - All peripherals disabled.
            - Wakeup using EXTI Line 8 (PB.08, connected to Key push-button on STM320518-EVAL)

    - STOP Mode
    ===========
            - RTC Clocked by LSI
            - Regulator in LP mode
            - HSI, HSE OFF and LSI if not used as RTC Clock source
            - No IWDG
            - FLASH in deep power down mode
            - Automatic Wakeup using RTC clocked by LSI 

    - STANDBY Mode
    ==============
            - RTC OFF
            - IWDG and LSI OFF
            - Wakeup using WakeUp Pin2 (PC.13, connected to Tamper push-button on STM320518-EVAL)
                        
    - STANDBY Mode with RTC clocked by LSI 
    ==========================================
            - RTC Clocked by LSI
            - IWDG OFF
            - Automatic Wakeup using RTC 


@par Directory contents
  - PWR/PWR_CurrentConsumption/stm32f0xx_conf.h     Library Configuration file
  - PWR/PWR_CurrentConsumption/stm32f0xx_it.c       Interrupt handlers
  - PWR/PWR_CurrentConsumption/stm32f0xx_it.h       Interrupt handlers header file
  - PWR/PWR_CurrentConsumption/main.c               Main program
  - PWR/PWR_CurrentConsumption/main.h               Header for main.c module
  - PWR/PWR_CurrentConsumption/system_stm32f0xx.c   STM32F0xx system source file

@note The "system_stm32f0xx.c" is generated by an automatic clock configuration 
      tool and can be easily customized to meet user application requirements. 
      To select different clock setup, use the "STM32F0xx_Clock_Configuration_VX.Y.Z.xls" 
      provided with the AN4055 package available on <a href="http://www.st.com/internet/mcu/class/1734.jsp">  ST Microcontrollers </a>

      
@par Hardware and Software environment

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

  - STM320518-EVAL Set-up
    - Use the KEY push-button connected to PB8 pin
    - Use the Tamper push-button connected to PC13 pin
    - Connect an amperemeter to JP7 to measure the IDD current    


@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\STM32F0xx_StdPeriph_Templates
 - Open your preferred toolchain 
 - Rebuild all files and load your image into target memory
 - Run the example
        
 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */
