目录
前言
一、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 优势
- STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。
- STM32提供了丰富的功能和接口,包括通用输入/输出引脚、通信接口(如UART、SPI、I2C、CAN等)、模拟输入/输出、定时器、中断控制器等。它们还具有灵活的开发工具链和丰富的软件生态系统,能够为开发者提供便利的开发环境和丰富的应用资源。
二、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 简介
- 系列:主流系列STM32F1
- 内核:ARM Cortex-M3
- 主频:72MHz
- ROM:(Read-Only Memory)只读存储器,64KB
- Flash存储器:128KB,用于存储程序代码和只读数据
- SRAM:(静态随机存储器)20KB,用于临时存储数据和堆栈等
- 供电:2.0~3.6V(标准3.3V)
- 封装:LQFP48
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主机接口 |
- NVIC(Nested Vectored Interrupt Controller)是嵌套向量中断控制器,用于管理和控制微处理器中的中断请求。
- SysTick(System Timer Tick)是一个系统定时器,用于提供一个可编程的定时器,通常用于生成固定时间间隔的中断。
- RCC(Reset and Clock Control)是复位和时钟控制模块,用于配置和控制微处理器的系统时钟和复位信号。
- GPIO(General Purpose Input/Output)是通用输入/输出口,用于连接外部设备或传感器,以实现输入和输出功能。
- AFIO(Alternate Function Input/Output)是备用功能输入/输出控制器,用于配置微处理器的IO口的功能和引脚映射。
- EXTI(External Interrupt)是外部中断控制器,用于处理外部设备或传感器的中断信号。
- TIM(Timer)是定时器模块,用于测量时间间隔、产生定时器中断、控制PWM信号等。
- ADC(Analog-to-Digital Converter)是模数转换器,用于将模拟信号转换为数字信号。
- DMA(Direct Memory Access)是直接内存访问控制器,用于实现设备之间的数据传输,减轻CPU的数据传输负担。
- USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是通用同步/异步串行接收/发送器,用于实现串口通信。
- I2C(Inter-Integrated Circuit)是串行通信总线,用于在微处理器和外部设备之间进行短距离通信。
- SPI(Serial Peripheral Interface)是串行外设接口,用于在微处理器和外部设备之间进行通信,支持高速数据传输。
- CAN:控制器局域网(Controller Area Network),用于实现实时数据传输和通信。
- USB:通用串行总线(Universal Serial Bus),用于高速数据传输和设备之间的通信。
- RTC:实时时钟(Real-Time Clock),用于记录和维护精确的实时时间。
- CRC:循环冗余校验(Cyclic Redundancy Check),用于检测数据传输中的错误。
- PWR:电源(Power),用于管理和控制微控制器的电源供应。
- BKP:备份寄存器(Backup Registers),用于持久性存储数据。
- IWDG:独立看门狗(Independent Watchdog),用于监视系统运行状态并执行复位操作。
- WWDG:窗口看门狗(Window Watchdog),用于灵活的系统监控和复位操作。
- DAC:数模转换器(Digital-to-Analog Converter),用于将数字信号转换为模拟信号。
- SDIO:安全数字输入/输出(Secure Digital Input/Output),用于存储和通信的接口。
- FSMC:静态存储控制器(Flexible Static Memory Controller),用于连接外部存储器的接口模块。
- USB OTG:USB On-The-Go,在移动设备中实现主机和设备模式的切换以支持双向通信和数据交换。
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站视频:文章来源:https://www.toymoban.com/news/detail-760940.html
[1-2] STM32简介_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1th411z7sn/?p=2&spm_id_from=333.880.my_history.page.click&vd_source=9778399bc878bb45906a6acdd2554325文章来源地址https://www.toymoban.com/news/detail-760940.html
到了这里,关于STM32学习(一)-- stm32简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!