/**
@page RCC_Example RCC example
@verbatim
******************** (C) COPYRIGHT 2011 STMicroelectronics *******************
* @file RCC/readme.txt
* @author MCD Application Team
* @version V1.0.0
* @date 19-September-2011
* @brief Description of the RCC 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 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 hold 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, HSE ready interrupt
are enabled and once HSE clock recover, 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 system clock on MCO2 pin(PC9).
Four LEDs are toggled with a timing defined by the Delay function.
@par Directory contents
- RCC/system_stm32f4xx.c STM32F4xx system clock configuration file
- RCC/stm32f4xx_conf.h Library Configuration file
- RCC/stm32f4xx_it.c Interrupt handlers
- RCC/stm32f4xx_it.h Interrupt handlers header file
- RCC/main.c Main program
@par Hardware and Software environment
- This example runs on STM32F4xx Devices Revision A.
- This example has been tested with STM32F4-Discovery (MB997) RevA and can be
easily tailored to any other development board
- STM32F4-Discovery
- LED4, LED3, LED5 and LED6 connected respectively to PD.12, PD.13, PD.14
and PD.15 pins.
- Connect the PC9 pin to an oscilloscope to monitor the system clock frequency.
@par How to use it ?
In order to make the program work, you must do the following :
+ EWARM
- Open the RCC.eww workspace
- Rebuild all files: Project->Rebuild all
- Load project image: Project->Debug
- Run program: Debug->Go(F5)
+ MDK-ARM
- Open the RCC.uvproj project
- Rebuild all files: Project->Rebuild all target files
- Load project image: Debug->Start/Stop Debug Session
- Run program: Debug->Run (F5)
+ TASKING
- Open TASKING toolchain.
- Click on File->Import, select General->'Existing Projects into Workspace'
and then click "Next".
- Browse to TASKING workspace directory and select the project "RCC"
- Rebuild all project files: Select the project in the "Project explorer"
window then click on Project->build project menu.
- Run program: Select the project in the "Project explorer" window then click
Run->Debug (F11)
+ TrueSTUDIO
- Open the TrueSTUDIO toolchain.
- Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace
directory.
- Click on File->Import, select General->'Existing Projects into Workspace'
and then click "Next".
- Browse to the TrueSTUDIO workspace directory and select the project "RCC"
- Rebuild all project files: Select the project in the "Project explorer"
window then click on Project->build project menu.
- Run program: Select the project in the "Project explorer" window then click
Run->Debug (F11)
* <h3><center>© COPYRIGHT 2011 STMicroelectronics</center></h3>
*/