IP/Module
|
Example
|
Name
|
Brief Description
|
ADC
|
3 ADCs DMA
|
This example describes how to use the 3 ADCs in
independent conversions.
Two of them; ADC1 and ADC3 are transferring continuously converted data using
DMA while ADC2 converted data are stored using End of conversion interrupt.
|
ADC1 DMA
|
This example describes how to use the ADC1 and
DMA to transfer continuously
converted data from ADC1 to memory.
|
ADC analog watchdog
|
This example describes how to use the ADC analog
watchdog to guard continuously an ADC channel.
|
ADC external lines trigger
|
This example describes how to trigger ADC regular
and injected groups channels
conversion using two external line events. Discontinuous mode is enabled for
regular group channel conversion and configured to convert one regular
channel on each external trigger.
|
ADC regular simultaneous dual mode
|
This example describes how to use ADC1 and ADC2
in regular simultaneous dual mode. ADC1 is configured to convert channel14
and channel17 regular channels continuously. ADC2 is configured to convert
channel11 and channel12 regular channels continuously. The connection between
internal Vref and channel17 is enabled for ADC1.
|
ADC TIM trigger and auto-injection
|
This example describes how to convert ADC regular
group channels continuously using TIM1 external trigger and injected group
channels using the auto-injected feature.
|
BKP
|
Backup Data
|
This example shows how to store user data in the
Backup data registers.
As the Backup (BKP) domain still powered by VBAT when VDD is switched off,
its
contents are not lost if a battery is connected to VBAT pin.
|
BKP Tamper
|
This example shows how to write/read data to/from
Backup data registers and
demonstrates the Tamper detection feature.
|
CAN
|
LoopBack
|
This example provides a description of how to set
a communication with the CAN
in loopback mode.
|
Networking (Ex: Normal)
|
This example shows how to configure the CAN
peripheral to send and receive CAN frames in normal mode. The sent frames are
used to control Leds by pressing key push button.
|
Dual CAN
|
This example shows how to configure the CAN1 and
CAN2 peripherals to send and
receive CAN frames in normal mode. The sent frames are used to control Leds
by
pressing KEY or Tamper push buttons.
|
CEC
|
CEC Data Exchange using Interrupt
|
This example shows how to configure the HDMI-CEC
peripheral and how to create CEC network providing a high level communication
between three different devices using CEC protocol messages.
|
CortexM3
|
Bit Banding
|
This example shows how to use CortexM3 Bit-Band
access to perform atomic read-modify-write and read operations on a variable
in SRAM.
|
MPU
|
This example presents the MPU features on
STM32F10x XL-density devices and it
can be easily ported to any other STM32 device supporting MPU.
|
Mode Privilege
|
This example shows how to modify CortexM3 Thread
mode privilege access and stack. CortexM3 Thread mode is entered on Reset,
and can be entered as a result of an exception return.
|
CRC
|
CRC Calculation
|
This example shows how to use CRC (cyclic
redundancy check) calculation unit to get a CRC code of a given buffer of
data word (32-bit), based on a fixed generator polynomial (0x4C11DB7).
|
DAC
|
DAC dual mode sine wave
|
This example describes how to use DAC dual
channel mode with DMA to generate sine waves on both DAC channels outputs.
|
DAC one channel noise wave
|
This example describes how to use one DAC channel
to generate a signal with noise waves on DAC Channel1 output.
|
DAC one channel DMA escalator
|
This example describes how to use one DAC channel
mode with DMA to generate an escalator signal on DAC channel1 output.
|
DAC two channels triangle wave
|
This example describes how to use two DAC
channels to generate two different
signals with triangle waves on each DAC Channel output.
|
DMA
|
ADC1 TIM1
|
This example provides a description of how to use
a DMA channel to transfer
continuously a data from a peripheral (ADC1) to another peripheral (TIM1)
supporting DMA transfer.
|
FLASH to RAM
|
This example provides a description of how to use
a DMA channel to transfer
a word data buffer from FLASH memory to embedded SRAM memory.
|
FSMC
|
This example provides a description of how to use
two DMA channels to transfer
a word data buffer from Flash memory to external SRAM memory and to
recuperate
the written data from external SRAM to be stored in internal SRAM.
|
I2C to RAM
|
This example provides a description of how to use
two DMA channels to transfer a
data buffer from memory to I2C2 through I2C1.
|
SPI to RAM
|
This example provides a description of how to use
four DMA channels to transfer
a data buffer from memory to SPI_SLAVE through SPI_MASTER and a second data
buffer from memory to SPI_MASTER through SPI_SLAVE in full-duplex mode.
SPI_MASTER and SPI_SLAVE can be SPI1 and SPI2 or SPI3 and SPI2, depending on
the
STMicroelectronics EVAL board you are using.
|
EXTI
|
EXTI configuration
|
This example shows how to configure external
interrupt lines.
In this example, 2 EXTI lines (EXTI0 and EXTI8 or EXTI9) are configured
to generate an interrupt on each rising or falling edge. In the interrupt
routine
a led connected to a specific GPIO pin is toggled.
|
FLASH
|
Program
|
This example provides a description of how to
program the STM32F10x FLASH.
|
XL-Density devices FLASH Dual Boot capability
|
This example demonstrates the dual Flash boot
capability of XL-Density devices:
boot from Flash memory Bank1 or Bank2.
|
Write Protection
|
This example provides a description of how to
enable and disable the write protection for the STM32F10x FLASH.
|
FSMC
|
NAND
|
This example provides a basic example of how to
use the FSMC firmware library and an associate driver to perform
erase/read/write operations on the NAND512W3A2 memory mounted on
STM3210E-EVAL board.
|
NOR
|
This example provides a basic example of how to
use the FSMC firmware library and an associate driver to perform
erase/read/write operations on the M29W128FL, M29W128GL or S29GL128P NOR
memories mounted on the STM3210E-EVAL board.
|
NOR_CodeExecute
|
This directory contains a set of sources files
that describes how to build an
application to be loaded into the NOR memory mounted on STM3210E-EVAL board
then execute it from internal Flash.
|
One-NAND
|
This example shows how to configure the FSMC to
drive the OneNAND memory mounted on STM32100E-EVAL board. In this example a
basic example of how to use the FSMC firmware library and an associate driver
to perform read/write operations on the KFG1216U2A/B-DIB6 OneNAND memory.
|
SRAM
|
This example provides a basic example of how to
use the FSMC firmware library and an associate driver to perform read/write
operations on the IS61WV51216BLL SRAM memory mounted on STM3210E-EVAL board.
|
SRAM DataMemory
|
This example shows how to use the external SRAM
mounted on STM3210E-EVAL or
STM32100E-EVAL board as program data memory and internal SRAM for Stack.
|
GPIO
|
IO Toggle
|
GPIO ports are connected on APB2 bus, using BSRRH
and BSRRL registers 2 cycles
are required to set a pin and another cycle to reset it. So GPIO pins can
toggle
at AHB clock divided by 4.
|
JTAG Remap
|
This example provides a short description of how
to use the JTAG IOs as standard
GPIOs and gives a configuration sequence.
|
I2C
|
I2C and M24CXX EEPROM communication
|
This example provides a basic example of
how to use the I2C firmware library and
an associate I2C EEPROM driver to communicate with an I2C EEPROM device (here
the example is interfacing with M24CXX EEPROMs where XX={01, 02, 04, 08, 16,
32, 64}. I2C peripheral is configured in Master transmitter during write
operation and in Master receiver during read operation from I2C EEPROM.
|
I2C and LM75 Temperature Sensor communication
|
This example provides a description of
how to use the I2C to communicate with
an STLM75 (or a compatible device) I2C temperature sensor is mounted on the
evaluation board and used to get instantaneous external temperature
(-55癈 to +125癈).
|
I2C and STMPE811 IO Expander communication
|
This firmware provides an example of
configuring and using the IO Expander STMPE811 in order to control input
Joystick IOs, output IOs and the Touch Screen feature.
|
I2S
|
Interrupt
|
This example provides a description of
how to set a communication between two
SPIs in I2S mode using interrupts and performing a transfer from Master to
Slave.
|
SPI_I2S_Switch
|
This example provides a description of
how to set a communication between two
SPIs in I2S mode, and how to switch between SPI and I2S modes, performing a
transfer from Master to Slave in I2S modes then a transfer from master to
slave
in SPI mode and finally a transfer from Slave to Master in I2S mode.
|
IWDG
|
IWDG Reset
|
This example shows how to update at
regular period the IWDG reload counter and
how to simulate a software fault generating an MCU IWDG reset on expiry of a
programmed time period.
|
LIB_DEBUG
|
Run Time Checking
|
This example demonstrates how to
declare dynamic peripherals pointers used for Debug mode. To use Debug mode
you have to add the stm32f10x_ip_dbg.c file to your application. This creates
a pointer to the peripheral structure in SRAM. Debugging consequently becomes
easier and all register settings can be obtained by dumping a peripheral
variable.
|
NVIC
|
DMA in WFI mode
|
This example shows how to enter the
system to WFI mode with DMA transfer enabled and wake-up from this mode by
the DMA End of Transfer interrupt.
|
IRQ Mask
|
This example demonstrates the use of
the Nested Vectored Interrupt Controller (NVIC) IRQ Channels configuration
and how to mask/activate different IRQs.
|
IRQ Priority
|
This example demonstrates the use of
the Nested Vectored Interrupt Controller (NVIC).
|
VectorTable Relocation
|
This example describes how to set the CortexM3
vector table in a specific
address other than default using the NVIC_SetVectorTable function from the
misc.h/.c driver.
|
PWR
|
STANDBY
|
This example shows how to enter the system
to STANDBY mode and wake-up from this mode using: external RESET, RTC Alarm
or WKUP pin.
|
STOP
|
This example shows how to enter the
system to STOP mode and wake-up using EXTI Line interrupts. The EXTI Line
sources are PB.09/PG.08 and RTC Alarm.
|
PVD
|
This example shows how to configure
the programmable voltage detector using
an external interrupt line. In this example, EXTI line 16 is configured to
generate
an interrupt on each rising or falling edge of the PVD output signal (which
indicates that the Vdd voltage is below the PVD threshold).
|
RCC
|
Clock configuration
|
This example shows how to configure
the System clock (SYSCLK) to have different frequencies: 24MHz, 36MHz, 48MHz,
56MHz and 72MHz (common frequencies that covers the major of the
applications).
|
RTC
|
Calendar
|
This example demonstrates and explains
how to use the RTC peripheral. As an application example, it demonstrates how
to setup the RTC peripheral, in terms of prescaler and interrupts, to be used
to keep time and to generate Second interrupt.
|
LSI_Calib
|
This example demonstrates and explains
how to use the LSI clock source auto calibration to get a precise RTC clock.
|
SDIO
|
Micro SD Card
|
This example provides a basic example
of how to use the SDIO firmware library and an associate driver to perform
read/write operations on the SD Card memory (SD Card V1.0, V1.1, V2.0 and SDHC
(High Capacity) protocol) that could be mounted on the STM3210E-EVAL board.
|
SPI
|
CRC
|
This example provides a description of
how to set a communication between two
SPIs in full-duplex mode and performs a transfer from Master to Slave and
Slave to Master followed by CRC transmission.
|
DMA
|
This example provides a description of
how to set a communication between the two SPIs in simplex mode and performs
a transfer from SPI_MASTER in polling mode to the SPI_SLAVE in DMA receive
mode.
|
Full Duplex Software NSS
|
This example provides a description of
how to set a communication between SPIy and SPIz in full-duplex mode and
performs a transfer from Master to Slave and then Slave to Master in the same
application with software NSS management.
SPIy and SPIz can be SPI1 and SPI2 or SPI3 and SPI2, depending on the
STMicroelectronics EVAL board you are using.
|
SPI_FLASH
|
This example provides a basic example
of how to use the SPI firmware library
and an associate SPI FLASH driver to communicate with an M25P64 or M25P128
FLASH.
|
Simplex Interrupt
|
This example provides a description of
how to set a communication between two
SPIs in simplex mode and performs a data buffer transfer from SPI_MASTER to
SPI_SLAVE using TxE interrupt for master and RxNE interrupt for slave.
SPI_MASTER and SPI_SLAVE can be SPI1 and SPI2 or SPI3 and SPI2, depending on
the
STMicroelectronics EVAL board you are using.
|
SysTick
|
Time Base
|
This example shows how to configure
the SysTick to generate a time base equal to
1 ms. The system clock is set to 24 MHz on Value line devices and to 72 MHz
on
other devices, the SysTick is clocked by the AHB clock (HCLK).
|
TIM
|
6 Steps
|
This example shows how to configure the
TIM1 peripheral to generate 6 Steps.
The STM32F10x TIM1 peripheral offers the possibility to program in advance
the
configuration for the next TIM1 outputs behavior (step) and change the
configuration of all the channels at the same time. This operation is
possible when the COM (commutation) event is used.
|
7 PWM Output
|
This example shows how to configure
the TIM1 peripheral to generate 7 PWM signals with 4 different duty cycles
(50%, 37.5%, 25% and 12.5%).
|
Cascade Synchro
|
This example shows how to synchronize
TIM peripherals in cascade mode.
|
Complementary Signals
|
This example shows how to configure
the TIM1 peripheral to generate three
complementary TIM1 signals, to insert a defined dead time value, to use the
break
feature and to lock the desired parameters.
|
DMA
|
This example provides a description of
how to use DMA with TIM1 Update request
to transfer Data from memory to TIM1 Capture Compare Register3.
|
DMA Burst
|
This example shows how to update the TIM1 channel1 period and the duty cycle
using the TIM1 DMA burst feature.
|
External Trigger Synchro
|
This example shows how to synchronize
TIM peripherals in cascade mode with an
external trigger.
|
Input Capture
|
This example shows how to use the TIM
peripheral to measure the frequency of an
external signal.
|
OC Active
|
This example shows how to configure
the TIM peripheral to generate four different
signals with four different delays.
|
OC Inactive
|
This example shows how to configure
the TIM peripheral in Output Compare Inactive mode with the corresponding Interrupt
requests for each channel.
|
OC Toggle
|
This example shows how to configure
the TIM3 peripheral to generate four different signals with four different
frequencies.
|
One Pulse
|
This example shows how to use the TIM
peripheral to generate a One pulse Mode
after a Rising edge of an external signal is received in Timer Input pin.
|
Parallel Synchro
|
This example shows how to synchronize
TIM peripherals in parallel mode.
|
PWM Input
|
This example shows how to use the TIM peripheral
to measure the frequency and
duty cycle of an external signal.
|
PWM Output
|
This example shows how to configure
the TIM peripheral in PWM (Pulse Width Modulation) mode.
|
TIM1 Synchro
|
This example shows how to synchronize TIM1
and Timers (TIM3 and TIM4) in parallel mode.
|
TIM10 PWM Output
|
This example shows how to configure
the TIM10 peripheral in PWM (Pulse Width Modulation) mode.
|
TIM15 Complementary Signals
|
This example shows how to configure
the TIM15 peripheral to generate one
complementary TIM15 signal, to insert a defined dead time value, to use the
break
feature and to lock the desired parameters.
|
TIM9 OC Toggle
|
This example shows how to configure
the TIM9 peripheral to generate two different signals with two different
frequencies.
|
Time Base
|
This example shows how to configure
the TIM peripheral in Output Compare Timing mode with the corresponding
Interrupt requests for each channel in order to generate 4 different time
bases.
|
USART
|
DMA Interrupt
|
This example provides a basic
communication between USARTy and USARTz using DMA capability, flags and
interrupts. USARTy and USARTz can be USART1 and USART2 or USART2 and USART3,
depending on the STMicroelectronics EVAL board you are using.
|
DMA Polling
|
This example provides a basic
communication between USARTy and USARTz using DMA capability. USARTy and
USARTz can be USART1 and USART2 or USART2 and USART3, depending on the
STMicroelectronics EVAL board you are using.
|
Half Duplex
|
This example provides a basic
communication between USARTy and USARTz in
Half-Duplex mode using flags. USARTy and USARTz can be USART1 and USART2 or
USART2 and USART3, depending on the STMicroelectronics EVAL board you are
using.
|
Hyperterminal Hardware Flow Control
|
This example provides a description of
how to use the USART with hardware flow
control and communicate with the HyperTerminal.
|
Hyperterminal interrupt
|
This example provides a description of
how to use the EVAL_COM1 Transmit and Receive interrupts to communicate with
the HyperTerminal.
|
Interrupt
|
This example provides a basic
communication between USARTy and USARTz using
interrupts. USARTy and USARTz can be USART1 and USART2 or USART2 and USART3,
depending on the STMicroelectronics EVAL board you are using.
|
IrDA Receive
|
This example provides a basic
communication USARTy IrDA receive mode. Four leds
are used to show which byte is received. USARTy can be USART3 or USART2
depending on the STMicroelectronics EVAL board you are using.
|
IrDA Transmit
|
This example provides a basic
communication USARTy IrDA transmit mode. Five pins, configured in input
floating mode, are used to select the byte to be send at
each pin state change. USARTy can be USART3 or USART2 depending on the
STMicroelectronics EVAL board you are using.
|
Multi Processor
|
This example provides a description of
how to use the USART in multi-processor mode.
USARTy and USARTz can be USART1 and USART2 or USART2 and USART3 respectively,
depending on the STMicroelectronics EVAL board you are using.
|
Polling
|
This example provides a basic
communication between USARTy and USARTz using flags. USARTy and USARTz can be
USART1 and USART2 or USART2 and USART3, depending on the STMicroelectronics
EVAL board you are using.
|
Printf
|
This example shows how to retarget the
C library printf function to the USART.
This implementation output the printf message on the HyperTerminal using
USARTx. USARTx can be USART1 or USART2 depending on the EVAL board you are
using.
|
Smartcard
|
This example provides a description of
how to use the USART in Smartcard mode.
The example gives only the possibility to read the ATR and decode it into
predefined buffer.
|
Synchronous
|
This example provides a basic
communication between USARTy (Synchronous mode) and SPIy using flags. USARTy
and SPIy can be USART1 and SPI1 or USART2 and SPI3, depending on the
STMicroelectronics EVAL board you are using.
|
WWDG
|
WWDG Reset
|
This example shows how to update at
regular period the WWDG counter and how to simulate a software fault generating
an MCU WWDG reset on expiry of a programmed time period.
|