/**
@page GPIO_IOToggle GPIO IO Toggle example
@verbatim
******************** (C) COPYRIGHT 2011 STMicroelectronics *******************
* @file GPIO/IOToggle/readme.txt
* @author MCD Application Team
* @version V1.0.0
* @date 30-September-2011
* @brief Description of the GPIO IO Toggle 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
GPIO ports are connected on AHB bus, using BSRRH and BSRRL registers one cycle is
required to set a pin and another cycle to reset it. So GPIO pins can toggle at
AHB clock divided by 2.
This example describes how to use BSRRH and BSRRL (Port Bit Set/Reset Register
High and Low) for maximum IO toggling.
PG6 and PG8 (configured in output pushpull mode) toggles in a forever loop:
- Set PG6 and PG8 by setting corresponding bits in BSRRL register
- Reset PG6 and PG8 by setting corresponding bits in BSRRH register
In this example, HCLK is configured at 168 MHz so PG6 and PG8 toggles at 84MHz.
To achieve the maximum IO toggling frequency, you have to configure your compiler
options for high speed optimization.
@par Directory contents
- GPIO/IOToggle/stm32f4xx_conf.h Library Configuration file
- GPIO/IOToggle/stm32f4xx_it.c Interrupt handlers
- GPIO/IOToggle/stm32f4xx_it.h Interrupt handlers header file
- GPIO/IOToggle/main.c Main program
- GPIO/IOToggle/system_stm32f4xx.c STM32F4xx system source file
@note The "system_stm32f4xx.c" is generated by an automatic clock configuration
tool and can be easily customized to your own configuration.
To select different clock setup, use the "STM32F4xx_Clock_Configuration_V1.0.0.xls"
provided with the AN3988 package available on <a href="http://www.st.com/internet/mcu/family/141.jsp" rel='nofollow' onclick='return false;'> ST Microcontrollers </a>
@par Hardware and Software environment
- This example runs on STM32F4xx Devices.
- This example has been tested with STM324xG-EVAL RevB and can be easily tailored
to any other development board
- STM324xG-EVAL Set-up
- Use LED1 and LED2 connected respectively to PG.06 and PG.08
@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\STM32F4xx_StdPeriph_Templates
- Open your preferred toolchain
- Rebuild all files and load your image into target memory
- Run the example
* <h3><center>© COPYRIGHT 2011 STMicroelectronics</center></h3>
*/