意法半导体 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 # 用户手册
├── 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)
| 外设 | 头文件 | 源文件 | 主要功能 |
|---|---|---|---|
| GPIO | stm32f10x_gpio.h | stm32f10x_gpio.c | 通用IO初始化、读写、复用配置 |
| USART | stm32f10x_usart.h | stm32f10x_usart.c | 串口收发、波特率、中断 |
| SPI | stm32f10x_spi.h | stm32f10x_spi.c | SPI主从机、时钟极性相位 |
| I2C | stm32f10x_i2c.h | stm32f10x_i2c.c | I2C主机从机、EEPROM |
| ADC | stm32f10x_adc.h | stm32f10x_adc.c | 模数转换、规则/注入通道 |
| TIM | stm32f10x_tim.h | stm32f10x_tim.c | 定时器、PWM、输入捕获 |
| DMA | stm32f10x_dma.h | stm32f10x_dma.c | DMA传输、内存拷贝 |
| RCC | stm32f10x_rcc.h | stm32f10x_rcc.c | 时钟配置、外设时钟使能 |
| EXTI | stm32f10x_exti.h | stm32f10x_exti.c | 外部中断、事件线 |
| FLASH | stm32f10x_flash.h | stm32f10x_flash.c | Flash读写、擦除、选项字节 |
| PWR | stm32f10x_pwr.h | stm32f10x_pwr.c | 电源管理、低功耗模式 |
| BKP | stm32f10x_bkp.h | stm32f10x_bkp.c | 备份寄存器、RTC校准 |
| RTC | stm32f10x_rtc.h | stm32f10x_rtc.c | 实时时钟、闹钟 |
| WWDG/IWDG | stm32f10x_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.h | ddl.h | mm32l0020.h(含hal_conf.h) |