STM32学习(一):STM32简介及入门指南
目录
前言
一、STM32简介
1.STM32 是什么
2.STM32 应用领域
3.STM32 优势
二、ARM简介
三、STM32芯片
1.芯片命名规则
2.型号分类及缩写
四、STM32F103C8T6
1.STM32F103C8T6 简介
2.片上资源/外设
3.引脚定义
4.系统结构
5.启动配置
6.最小系统电路
五、总结
前言
哈喽,大家好!本人目前刚开始学习stm32单片机,记录自己个人的学习过程,如果有讲的不好的地方,还请大家指正,非常感谢~~
主要介绍STM32是什么、应用领域、优势、STM32F103C8T6芯片介绍、STM32F103C8T6片上资源/外设、命名规则、系统结构、引脚定义、启动配置、最小系统电路等。
一、STM32简介
1.STM32 是什么
STM32是意法半导体(STMicroelectronics)公司(简称ST公司)基于ARM Cortex-M内核开发的32位微控制器(MCU)产品,在嵌入式系统中广泛应用。
2.STM32 应用领域
STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品、医疗设备、智能家居等。
3.STM32 优势
二、ARM简介
- ARM既指ARM公司,也指ARM处理器内核。
- ARM Cortex-M内核是一种嵌入式处理器内核架构,由英国ARM公司推出。它专门设计用于微控制器(MCU)应用,具有出色的性能、低功耗和高度可定制的特性。
- Cortex-M内核系列有多个不同的版本,如Cortex-M0、Cortex-M3、Cortex-M4和Cortex-M7等。每个版本都有不同的特性和性能级别,以满足不同应用的需求。
- ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构
- ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片


三、STM32芯片
1.芯片命名规则

2.型号分类及缩写
STM32将芯片分为LD(Low Density)、MD(Middle Density)、HD(High Density)三类,可以分别称为低级、中级、高级。
ps:对于内存大于等于256k的芯片,含有额外的功能,如:有LCD接口,DMA通过达到12个并且含有DAC等。
缩写 |
释义 |
Flash容量 |
型号 |
LD_VL |
小容量产品超值系列 |
16~32K |
STM32F100 |
MD_VL |
中容量产品超值系列 |
64~128K |
STM32F100 |
HD_VL |
大容量产品超值系列 |
256~512K |
STM32F100 |
LD |
小容量产品 |
16~32K |
STM32F101/102/103 |
MD |
中容量产品 |
64~128K |
STM32F101/102/103 |
HD |
大容量产品 |
256~512K |
STM32F101/102/103 |
XL |
加大容量产品 |
大于512K |
STM32F101/102/103 |
CL |
互联型产品 |
– |
STM32F105/107 |
四、STM32F103C8T6
1.STM32F103C8T6 简介

2.片上资源/外设
片上资源(On-Chip Resources)指的是集成在微控制器芯片上的各种硬件模块、电路和功能单元,用于实现特定功能或提供一定的功能支持。
外设(Peripheral)指的是与微控制器相连的外部设备或模块,例如传感器、执行器、存储器、通信接口等。外设主要通过微控制器上的引脚和片上资源进行连接和控制。
在微控制器中,片上资源通常是指集成在芯片内部,与核心处理器相连的各种硬件模块,例如定时器、通用输入/输出口(GPIO)、串行通信接口(USART、SPI、I2C)、模数转换器(ADC)、直接内存访问控制器(DMA)等。这些片上资源可以被程序通过寄存器配置和控制,实现各种功能和数据交换。
外设则是连接在微控制器芯片引脚上的外部设备或模块,它们不直接属于芯片内部的硬件模块,但通过微控制器的片上资源进行控制和通信。例如,与微控制器相连的传感器、执行器、存储设备、通信接口设备等,都可以视为外设。
通过集成丰富的片上资源和与外部设备通信的外设,微控制器可以实现各种功能,满足不同应用的需求。
ps:实际上,不同系列的STM32微控制器可能具有不同的片上资源和外设组合。(有个印象即可)
英文缩写 |
名称 |
英文缩写 |
名称 |
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主机接口 |
3.引脚定义
STM32F103C8T6芯片具有48个引脚,这些引脚可以用于连接外部设备和扩展模块。

ps:
标橙色:电源相关引脚; 标蓝色:最小系统相关的引脚; 标绿色:IO口、功能口引脚 S:电源; I:输入; O:输出; I/O:输入输出 I/O口电平:I/O口所能容忍的电压;(FT:5V; 无FT:3.3V) (ps:若无FT且需要接5V电平,则需要加装电平转换电路)
主功能:上电后默认功能(一般和引脚名称相同,若不同则引脚实际功能是主动功能而不是引脚名称的功能) 默认复用功能:I/O口上同时连接的外设功能引脚(配置I/O口时可选择通用I/O口或复用功能) 重定义功能:若两个功能同时复用在一个I/O口,可以把其中一个复用功能重映射到其他端口上(前提是重定义功能表里有对应端口)
表3 STM32F103C8T6引脚定义表 | ||||||
引脚号 | 引脚名称 | 类型 | I/O口电平 | 主功能 | 默认复用功能 | 重定义功能 |
1 | VBAT | S | VBAT | |||
2 | PC13-TAMPER-RTC | I/O | PC13 | TAMPER-RTC | ||
3 | PC14-OSC32_IN | I/O | PC14 | OSC32_IN | ||
4 | PC15-OSC32_OUT | I/O | PC15 | OSC32_OUT | ||
5 | OSC_IN | I | OSC_IN | |||
6 | OSC_OUT | O | OSC_OUT | |||
7 | NRST | I/O | NRST | |||
8 | VSSA | S | VSSA | |||
9 | VDDA | S | VDDA | |||
10 | PA0-WKUP | I/O | PA0 | WKUP/USART2_CTS/ADC12_IN0/TIM2_CH1_ETR | ||
11 | PA1 | I/O | PA1 | USART2_RTS/ADC12_IN1/TIM2_CH2 | ||
12 | PA2 | I/O | PA2 | USART2_TX/ADC12_IN2/TIM2_CH3 | ||
13 | PA3 | I/O | PA3 | USART2_RX/ADC12_IN3/TIM2_CH4 | ||
14 | PA4 | I/O | PA4 | SPI1_NSS/USART2_CK/ADC12_IN4 | ||
15 | PA5 | I/O | PA5 | SPI1_SCK/ADC12_IN5 | ||
16 | PA6 | I/O | PA6 | SPI1_MISO/ADC12_IN6/TIM3_CH1 | TIM1_BKIN | |
17 | PA7 | I/O | PA7 | SPI1_MOSI/ADC12_IN7/TIM3_CH2 | TIM1_CH1N | |
18 | PB0 | I/O | PB0 | ADC12_IN8/TIM3_CH3 | TIM1_CH2N | |
19 | PB1 | I/O | PB1 | ADC12_IN9/TIM3_CH4 | TIM1_CH3N | |
20 | PB2 | I/O | FT | PB2/BOOT1 | ||
21 | PB10 | I/O | FT | PB10 | I2C2_SCL/USART3_TX | TIM2_CH3 |
22 | PB11 | I/O | FT | PB11 | I2C2_SDA/USART3_RX | TIM2_CH4 |
23 | VSS_1 | S | VSS_1 | |||
24 | VDD_1 | S | VDD_1 | |||
25 | PB12 | I/O | FT | PB12 | SPI2_NSS/I2C2_SMBAI/USART3_CK/TIM1_BKIN | |
26 | PB13 | I/O | FT | PB13 | SPI2_SCK/USART3_CTS/TIM1_CH1N | |
27 | PB14 | I/O | FT | PB14 | SPI2_MISO/USART3_RTS/TIM1_CH2N | |
28 | PB15 | I/O | FT | PB15 | SPI2_MOSI/TIM1_CH3N | |
29 | PA8 | I/O | FT | PA8 | USART1_CK/TIM1_CH1/MCO | |
30 | PA9 | I/O | FT | PA9 | USART1_TX/TIM1_CH2 | |
31 | PA10 | I/O | FT | PA10 | USART1_RX/TIM1_CH3 | |
32 | PA11 | I/O | FT | PA11 | USART1_CTS/USBDM/CAN_RX/TIM1_CH4 | |
33 | PA12 | I/O | FT | PA12 | USART1_RTS/USBDP/CAN_TX/TIM1_ETR | |
34 | PA13 | I/O | FT | JTMS/SWDIO | PA13 | |
35 | VSS_2 | S | VSS_2 | |||
36 | VDD_2 | S | VDD_2 | |||
37 | PA14 | I/O | FT | JTCK/SWCLK | PA14 | |
38 | PA15 | I/O | FT | JTDI | TIM2_CH1_ETR/PA15/SPI1_NSS | |
39 | PB3 | I/O | FT | JTDO | PB3/TRACESWO/TIM2_CH2/SPI1_SCK | |
40 | PB4 | I/O | FT | NJTRST | PB4/TIM3_CH1/SPI1_MISO | |
41 | PB5 | I/O | PB5 | I2C1_SMBAI | TIM3_CH2/SPI1_MOSI | |
42 | PB6 | I/O | FT | PB6 | I2C1_SCL/TIM4_CH1 | USART1_TX |
43 | PB7 | I/O | FT | PB7 | I2C1_SDA/TIM4_CH2 | USART1_RX |
44 | BOOT0 | I | BOOT0 | |||
45 | PB8 | I/O | FT | PB8 | TIM4_CH3 | I2C1_SCL/CAN_RX |
46 | PB9 | I/O | FT | PB9 | TIM4_CH4 | I2C1_SDA/CAN_TX |
47 | VSS_3 | S | VSS_3 | |||
48 | VDD_3 | S | VDD_3 |
4.系统结构

5.启动配置
ps:X:即无论接什么; 1:即接3.3V电源; 0:即接GND
(一般情况下BOOT1和BOOT0都接GND,即主闪存存储器(Flash)为启动区域)

6.最小系统电路

五、总结
个人学习资料来源b站视频:
[1-2] STM32简介_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1th411z7sn/?p=2&spm_id_from=333.880.my_history.page.click&vd_source=9778399bc878bb45906a6acdd2554325