意法半导体 STMicroelectronics

STM32标准外设库(SPL):F0/F1/L1三大系列完整固件库,含Libraries/Projects/Utilities结构

3
标准库系列
3737
库文件总数
CMSIS
内核支持
SPL
标准外设库

标准外设库(SPL)列表

STM32F0xx 标准外设库

V1.5.0 · Cortex-M0

STM32F0系列(Cortex-M0)标准外设库,含Libraries/Projects/Utilities完整结构,配套用户手册CHM。

意法半导体\STM32_StdPeriphLib\STM32F0xx_StdPeriph_Lib_V1.5.0\

STM32F10x 标准外设库

V3.6.0 · Cortex-M3

STM32F1系列(Cortex-M3)标准外设库,最经典的STM32库,含F101/F102/F103/F105/F107全系列支持。

意法半导体\STM32_StdPeriphLib\STM32F10x_StdPeriph_Lib_V3.6.0\

STM32L1xx 标准外设库

V1.3.1 · Cortex-M3 低功耗

STM32L1系列(Cortex-M3)低功耗标准外设库,含L100/L151/L152等低功耗系列支持。

意法半导体\STM32_StdPeriphLib\STM32L1xx_StdPeriph_Lib_V1.3.1\

STM32F030 目录

预留目录

STM32F030超值系列专用目录,当前为空,可从ST官网下载对应库包放入。

意法半导体\STM32F030\

SPL库结构(以STM32F10x为例)

目录结构

STM32F10x_StdPeriph_Lib_V3.6.0/
├── Libraries/
│ ├── CMSIS/
│ │ ├── CM3/
│ │ │ ├── CoreSupport/ # core_cm3.h, core_cm3.c
│ │ │ └── DeviceSupport/ST/STM32F10x/
│ │ │ ├── stm32f10x.h # 芯片总头文件
│ │ │ ├── system_stm32f10x.c/h
│ │ │ └── startup/ # 启动文件 .s
│ │ └── Documentation/
│ └── STM32F10x_StdPeriph_Driver/
│ ├── inc/ # 外设头文件 stm32f10x_xxx.h
│ └── src/ # 外设源文件 stm32f10x_xxx.c
├── Project/
│ ├── STM32F10x_StdPeriph_Examples/ # 外设例程
│ └── Template/ # 工程模板
├── Utilities/
│ └── STM32_EVAL/ # 评估板支持
├── Release_Notes.html
└── stm32f10x_stdperiph_lib_um.chm # 用户手册

SPL常用外设驱动文件(STM32F10x)

外设头文件源文件主要功能
GPIOstm32f10x_gpio.hstm32f10x_gpio.c通用IO初始化、读写、复用配置
USARTstm32f10x_usart.hstm32f10x_usart.c串口收发、波特率、中断
SPIstm32f10x_spi.hstm32f10x_spi.cSPI主从机、时钟极性相位
I2Cstm32f10x_i2c.hstm32f10x_i2c.cI2C主机从机、EEPROM
ADCstm32f10x_adc.hstm32f10x_adc.c模数转换、规则/注入通道
TIMstm32f10x_tim.hstm32f10x_tim.c定时器、PWM、输入捕获
DMAstm32f10x_dma.hstm32f10x_dma.cDMA传输、内存拷贝
RCCstm32f10x_rcc.hstm32f10x_rcc.c时钟配置、外设时钟使能
EXTIstm32f10x_exti.hstm32f10x_exti.c外部中断、事件线
FLASHstm32f10x_flash.hstm32f10x_flash.cFlash读写、擦除、选项字节
PWRstm32f10x_pwr.hstm32f10x_pwr.c电源管理、低功耗模式
BKPstm32f10x_bkp.hstm32f10x_bkp.c备份寄存器、RTC校准
RTCstm32f10x_rtc.hstm32f10x_rtc.c实时时钟、闹钟
WWDG/IWDGstm32f10x_wwdg.h / iwdg.h.c窗口看门狗/独立看门狗

SPL与DDL/HAL API对照

动作SPL(STM32)DDL(华大)HAL(灵动微)
时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE)Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE)RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE)
GPIO初始化GPIO_InitTypeDef; GPIO_Init(GPIOA, &GPIO_InitStructure)stc_gpio_cfg_t; Gpio_Init(GpioPortA, GpioPin0, &stcCfg)GPIO_InitTypeDef; GPIO_Init(GPIOA, &st)
串口发送USART_SendData(USART1, data)Uart_SendDataPoll(M0P_UART1, data)LPUART_SendData(LPUART1, data)
总头文件stm32f10x.hddl.hmm32l0020.h(含hal_conf.h)