EasyManua.ls Logo

ST STM32F31xx User Manual

ST STM32F31xx
584 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Page #1 background imageLoading...
Page #1 background image
October 2012
DocID023800 Rev 1
1/584
www.st.com
UM1581
User manual
Description of STM32F30xx/31xx Standard Peripheral Library
Introduction
The STM32F30xx and STM32F31xx Standard Peripheral Library covers 3 abstraction levels, and
includes:
ï‚· A complete register address mapping with all bits, bitfields and registers declared in C. This avoids
a cumbersome task and more important, it brings the benefits of a bug free reference mapping file,
speeding up the early project phase.
ï‚· A collection of routines and data structures covering all peripheral functions (drivers with common
API). It can directly be used as a reference framework, since it also includes macros for supporting
core-related intrinsic features, common constants, and definition of data types.
ï‚· A set of examples covering all available peripherals with template projects for the most common
development tools. With the appropriate hardware evaluation board, this allows to get started with
a brand-new micro within few hours.󳘪
Each driver consists of a set of functions covering all peripheral features. The development of each
driver is driven by a common API (application programming interface) which standardizes the driver
structure, the functions and the parameter names.The driver source code is developed in „Strict ANSI-C‟
(relaxed ANSI-C for projects and example files). It is fully documented and is MISRA-C 2004 compliant.
Writing the whole library in „Strict ANSI-C‟ makes it independent from the development tools. Only the
start-up files depend on the development tools. Thanks to the Standard Peripheral Library, low-level
implementation details are transparent so that reusing code on a different MCU requires only to
reconfigure the compiler. As a result, developers can easily migrate designs across the STM32 series to
quickly bring product line extensions to market without any redesign. In addition, the library is built
around a modular architecture that makes it easy to tailor and run it on the same MCU using hardware
platforms different from ST evaluation boards.
The Standard Peripheral Library implements run-time failure detection by checking the input values for
all library functions. Such dynamic checking contributes towards enhancing the robustness of the
software. Run-time detection is suitable for user application development and debugging. It adds an
overhead which can be removed from the final application code to minimize code size and execution
speed. For more details refer to Section 1.1.5: "Run-time checking".󳘪
Since the Standard Peripheral Library is generic and covers all peripheral features, the size and/or
execution speed of the application code may not be optimized. For many applications, the library may
be used as is. 󳘪
The firmware library user manual is structured as follows:
ï‚· Document conventions, rules, architecture and overview of the Library package.
ï‚· How to use and customize the Library (step by step).
ï‚· Detailed description of each peripheral driver: configuration structure, functions and how to use the
provided API to build your application.󳘪
The STM32F30xx and STM32F31xx Standard Peripheral Library will be referred to as STM32F30xx
Library throughout the document, unless otherwise specified.
Table 1: Applicable products
Type
Microcontrollers

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the ST STM32F31xx and is the answer not in the manual?

ST STM32F31xx Specifications

General IconGeneral
BrandST
ModelSTM32F31xx
CategoryMicrocontrollers
LanguageEnglish

Summary

How to Use and Customize the Library

Library Configuration Parameters

Details configuration parameters that customize the library for specific applications via define statements.

Peripheral Initialization and Configuration

Step-by-step guide on how to initialize and configure a peripheral, including clock enabling.

Running Your First Example

Guides on loading and executing template examples, covering prerequisites and tool-specific steps.

Developing Your First Application

Outlines the typical starting point and steps for developing an application from scratch.

Analog-to-digital converter (ADC) Firmware Driver

ADC Firmware Driver API Description

Lists and describes the various functions available in the ADC library for peripheral control.

Controller Area Network (bxCAN) Firmware Driver

CAN Firmware Driver API Description

Lists and describes the various functions available in the CAN library for peripheral control.

Comparators (COMP) Firmware Driver

COMP Firmware Driver API Description

Lists and describes the various functions available in the COMP library for peripheral control.

CRC Calculation Unit (CRC) Firmware Driver

CRC Firmware Driver API Description

Lists and describes the various functions for CRC configuration and computation.

Digital-to-Analog Converter (DAC) Firmware Driver

DAC Firmware Driver API Description

Lists and describes the various functions for DAC peripheral control and data transfer.

DMA Controller (DMA) Firmware Driver

DMA Firmware Driver API Description

Lists and describes functions for DMA initialization, configuration, and data transfers.

External Interrupt/Event Controller (EXTI) Firmware Driver

EXTI Firmware Driver API Description

Lists and describes functions for EXTI features, usage, initialization, and interrupt management.

FLASH Memory (FLASH) Firmware Driver

FLASH Firmware Driver API Description

Lists and describes functions for FLASH interface configuration and memory programming.

General-purpose I/Os (GPIO) Firmware Driver

GPIO Firmware Driver API Description

Lists and describes functions for GPIO usage, initialization, read/write, and alternate functions.

Inter-integrated Circuit Interface (I2C) Firmware Driver

I2C Firmware Driver API Description

Lists and describes functions for I2C usage, initialization, communication, SMBUS, and registers management.

Independent Watchdog (IWDG) Firmware Driver

IWDG Firmware Driver API Description

Lists and describes functions for IWDG features, usage, prescaler, activation, and flag management.

Operational Amplifier (OPAMP) Firmware Driver

OPAMP Firmware Driver API Description

Lists and describes functions for OPAMP peripheral features, usage, and initialization.

Power Control (PWR) Firmware Driver

PWR Firmware Driver API Description

Lists and describes functions for backup domain access, PVD configuration, and low power modes.

Reset and Clock Control (RCC) Firmware Driver

RCC Firmware Driver API Description

Lists and describes functions for RCC features, clock configuration, and peripheral clocks.

Real-time Clock (RTC) Firmware Driver

RTC Firmware Driver API Description

Lists and describes functions for RTC operating conditions, domain access, and time/date configuration.

Serial Peripheral Interface (SPI) Firmware Driver

SPI Firmware Driver API Description

Lists and describes functions for SPI usage, initialization, data transfers, CRC calculation, and DMA.

System Configuration Controller (SYSCFG) Firmware Driver

SYSCFG Firmware Driver API Description

Lists and describes functions for SYSCFG usage, initialization, and configuration.

General-Purpose Timers (TIM) Firmware Driver

TIM Firmware Driver API Description

Lists and describes functions for TIM output compare, input capture, advanced control, and synchronization management.

Universal Synchronous Asynchronous Receiver Transmitter (USART) Firmware Driver

USART Firmware Driver API Description

Lists and describes functions for USART usage, initialization, RS485, DMA, interrupts, STOP mode, and AutoBaudRate.

Window Watchdog (WWDG) Firmware Driver

Related product manuals