1.2 STM32简介
一、STM32
- STM32是ST公司基于ARMCortex-M内核开发的32位微控制器。
- STM32常应用在嵌入式领域如智能车、无人机、机器人无线通信、物联网、工业控制、娱乐电子产品等。
- STM32功能强大、性能优异片上资源丰富、功耗低,是一款经典的嵌入式微控制器。

二、ARM
- ARM既指ARM公司,也指ARM处理器内核。
- ARm公司是全球领先的半导体知识产权 (IP) 提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构。
- ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片。

ARM7、ARM9、ARM11等等是经典的ARM处理器。在ARM11后,ARN公司为了时代的发展和市场的变化,推出了Cortex系列的内核,其中R系列和M系列适用于嵌入式领域;A系列主要应用于手机领域,是ARM中性能最高、发展最快的系列。
Cortex内核不同后缀的含义:
- A - Application
- R - Realtime
- M - Microcontroller
三、STM32F103C8T6
- 系列: 主流系列STM32F1
- 内核: ARM Cortex-M3
- 主频: 72MHZ
- RAM: 20K (SRAM)
- ROM: 64K (FLASH)
- 供电: 2.0-3.6V (标准3.3V)
- 封装: LQFP48

四、片上资源/外设 (Peripheral)
| 英文缩写 | 名称 | 英文缩写 | 名称 |
|---|---|---|---|
| NVIC | 嵌套向量中断控制器 | CAN | CAN通信 |
| SysTick | 系统滴答定时器 | USB | USB通信 |
| RCC | 复位和时钟控制 | RTC | 实时时钟 |
| GPIO | 通用IO口 | CRC | CRC校验 |
| AFIO | 复用IO口 | PWR | 电源控制 |
| EXTI | 外部中断 | BKP | 备份寄存器 |
| TIM | 定时器 | IWDG | 独立看门狗 |
| ADC | 模数转换器 | WWDG | 窗口看门狗 |
| DMA | 直接内存访问 | DAC | 数模转换器 |
| USART | 同步/异步串口通信 | SDIO | SD卡接口 |
| I2C | I2C通信 | FSMC | 可变静态存储控制器 |
| SPI | SPI通信 | USB OTG | USB主机接口 |
相关信息
其中NVIC和SysTick是内核里的外设,其余的是内核外的外设。
五、命名规则

六、系统结构

七、引脚定义

相关信息
- 图片中加粗的端口可以直接使用IO功能,未加粗的端口使用IO功能可能需要配置或兼具其他功能。
- I/O口电平有FT能接5V电压,没有FT只能接3.3V电压。
STM32F103C8T6 引脚详细说明
1号引脚 (VBAT):备用电池供电引脚。用于在主电源断开时为RTC和备份寄存器供电。
2号引脚 (PC13):IO口 / 侵入检测 (TAMPER) / RTC。
- IO功能:可配置为输入或输出,用于读取或输出高低电平。
- 侵入检测 (TAMPER):用于安全保护。例如,设备外壳上的防拆触点连接到该引脚,当设备被非法拆解时,引脚电平变化会触发侵入检测信号,STM32可据此清除敏感数据。
- RTC功能:可输出RTC校准时钟、RTC闹钟脉冲或秒脉冲。
3-4号引脚 (PC14-PC15):IO口 / 连接32.768kHz的RTC晶振。
这些引脚主要用于连接外部低速晶振,为RTC提供时钟源。5-6号引脚 (OSC_IN-OSC_OUT):连接系统主晶振。
通常为8MHz芯片内部集成了锁相环(PLL)电路,可将8MHz的晶振频率倍频至72MHz,作为系统主时钟。7号引脚 (NRST):系统复位引脚。
引脚名称中的“N”表示低电平有效。当引脚为低电平时,系统复位。8-9号引脚 (VSSA-VDDA):内部模拟部分的电源引脚。
- VSSA:模拟地(负极)。
- VDDA:模拟电源(正极),为ADC、RC振荡器等模拟模块供电。
10-19号引脚、21-22号引脚、25-33号引脚、41-43号引脚、45-46号引脚:通用IO口。
10号引脚 (PA0):兼具WKUP功能,可用于唤醒处于待机模式的STM32。
20号引脚 (BOOT1):IO口 / BOOT1。用于配置启动模式,通常与BOOT0引脚配合使用。
23-24号引脚、35-36号引脚、47-48号引脚:连接系统主电源。
34号引脚、37-40号引脚:IO口 / 调试端口。
调试端口用于程序下载和调试。STM32支持以下两种调试方式:
- SWD:需要两根线(SWDIO和SWCLK)。
- JTAG:需要五根线(JTMS、JTCK、JTDI、JTDO、NJTRST)。
提示
在使用SWD调试时,38-40号引脚可配置为普通IO口。
44号引脚 (BOOT0):BOOT0。用于配置启动模式,通常与BOOT1引脚配合使用。
八、STM32 启动配置
在 STM32F10xxx 系列微控制器中,可以通过 BOOT[1:0] 引脚选择三种不同的启动模式。
| BOOT1 | BOOT0 | 启动模式 | 说明 |
|---|---|---|---|
| X | 0 | 主闪存存储器 | 主闪存存储器被选为启动区域 |
| 0 | 1 | 系统存储器 | 系统存储器被选为启动区域 |
| 1 | 1 | 内置 SRAM | 内置 SRAM 被选为启动区域 |
在系统复位后,SYSCLK 的第 4 个上升沿,BOOT 引脚的值将被锁存,之后便为PB2的功能。用户可以通过设置 BOOT1 和 BOOT0 引脚的状态,来选择复位后的启动模式。
相关信息
当 BOOT 模式选择系统存储器时,MCU 会执行存储在系统存储器中的 Bootloader(引导加载程序),此时就可以使用串口下载程序。
- 在没有 SWD/JTAG 调试器的情况下,可以通过 USART 端口 进入 Bootloader 进行程序烧录。
- 当主 Flash 中的程序损坏,导致 MCU 无法正常工作,并使用 Bootloader 重新烧录固件,恢复设备功能。
九、最小系统电路

相关信息
电源和接地之间需要接一个滤波电容,用于过滤高频噪声(容抗原理),从而保护电路。
容抗原理
电容的阻抗(即容抗)随频率变化,公式如下:
其中:
- 是容抗(单位:欧姆 Ω)。
- 是信号频率(单位:赫兹 Hz)。
- 是电容值(单位:法拉 F)。
容抗的特性
- 低频信号(如直流电或低频干扰) → 容抗较高,电容接近“开路”,不会影响电源的供电。
- 高频信号(如噪声、开关脉冲) → 容抗较低,电容接近“短路”,会将高频信号直接引导到地(GND)。
