/**
  @page RCC_Example RCC Example
  
  @verbatim
  ******************** (C) COPYRIGHT 2015 STMicroelectronics *******************
  * @file    RCC/RCC_Example/readme.txt 
  * @author  MCD Application Team
  * @version V1.1.3
  * @date    15-December-2021
  * @brief   RCC 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 use, for debug purpose, the RCC_GetClocksFreq function 
to retrieve the current status and frequencies of different on chip clocks. 
You can see the RCC_ClockFreq structure content, which holds the frequencies of 
different on chip clocks, using your toolchain debugger.

This example handles also the High Speed External clock (HSE) failure detection:
when the HSE clock disappears (broken or disconnected external Quartz); HSE, PLL
are disabled (but no change on PLL config), HSI selected as system clock source
and an interrupt (NMI) is generated. In the NMI ISR, the HSE clock and the HSE 
ready interrupt are enabled and once HSE clock recovers, the HSERDY interrupt is
generated and in the RCC ISR routine the system clock is reconfigured to its 
previous state (before HSE clock failure). You can monitor the HSE clock on MCO pin(PA8).

Four LEDs are toggled with a timing defined by the Delay function.

@note On the STM32303C-EVAL board, to generate the HSE failure you can remove
      the HSE quartz from the socket.
 

@par Directory contents 

  - RCC/RCC_Example/stm32f30x_conf.h    Library Configuration file
  - RCC/RCC_Example/stm32f30x_it.c      Interrupt handlers
  - RCC/RCC_Example/stm32f30x_it.h      Interrupt handlers header file
  - RCC/RCC_Example/main.c              Main program
  - RCC/RCC_Example/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
    - Use LED1, LED2, LED3 and LED4 connected respectively to PE.08, PE.09, PE.10
      and PE.11 pins

@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 
 - Add the following file to the project source list
   - Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c
 - Rebuild all files and load your image into target memory
 - Run the example
    

 */
