STM32F103C8T6 理论部分学习笔记

文章目录

  • [💙 STM32F103C8T6 命名解读](#💙 STM32F103C8T6 命名解读)
  • [💙 STM32 系列主要片上资源 / 外设速查表](#💙 STM32 系列主要片上资源 / 外设速查表)
  • [💙 STM32 引脚分布](#💙 STM32 引脚分布)
    • [STM32F103C8T6 (LQFP48) 引脚详细定义表 (截自数据手册 3.引脚定义-表5)](#STM32F103C8T6 (LQFP48) 引脚详细定义表 (截自数据手册 3.引脚定义-表5))
  • [💙 STM32 系统结构 (截图自参考手册 2.1)](#💙 STM32 系统结构 (截图自参考手册 2.1))
  • [💙 STM32F103C8T6 最小系统电路](#💙 STM32F103C8T6 最小系统电路)

💙 STM32F103C8T6 命名解读

系列 :主流系列STM32F1

内核 :ARM Cortex-M3
主频 :72MHz
RAM :20K(SRAM)
ROM :64K(Flash)
供电 :2.0~3.6V(标准3.3V)
封装:LQFP48


💙 STM32 系列主要片上资源 / 外设速查表

英文缩写 名称 人话解释
NVIC 嵌套向量中断控制器 管理芯片中断,决定哪个任务/事件优先被处理
SysTick 系统滴答定时器 芯片自带的简易定时器,常用于延时、计时、系统心跳
RCC 复位和时钟控制 给外设开关时钟、管理芯片复位,是所有外设工作的总开关 (操作外设之前必须先使能其时钟)
GPIO 通用IO口 通用输入输出引脚,用来控制LED、读取按键、输出高低电平
AFIO 复用IO口 让同一个引脚切换不同功能,比如既当普通引脚,又当串口引脚
EXTI 外部中断 引脚电平变化时触发中断,不用一直循环检测引脚状态
TIM 定时器 用于计时、生成PWM波、计数等,是芯片的时间管理工具
ADC 模数转换器 把光敏、温湿度等模拟电压信号,转换成单片机能识别的数字量
DMA 直接内存访问 数据搬运不用CPU参与,解放CPU,让数据传输更高效
USART 同步/异步串口通信 最常用的串口通信方式,和电脑、蓝牙、传感器收发数据
I2C I2C通信 两根线就能通信,适合短距离连接OLED屏、传感器等小设备
SPI SPI通信 高速同步通信,用来连接Flash、显示屏、传感器等设备
CAN CAN通信 工业级稳定通信,多用于汽车、工控设备之间的数据传输
USB USB通信 支持USB协议,可用于数据传输、设备连接识别等功能
RTC 实时时钟 独立计时的时钟,断电也能走时,用来记录时间、设置闹钟
CRC CRC校验 数据校验工具,检测传输、存储的数据有没有出错
PWR 电源控制 管理芯片的低功耗模式,降低耗电,延长设备续航
BKP 备份寄存器 掉电也能保存数据,用来记录设备的关键状态信息
IWDG 独立看门狗 独立时钟监控,程序跑飞/卡死时自动复位芯片
WWDG 窗口看门狗 更灵活的程序监控,有时间窗口限制,故障时复位芯片

💙 STM32 引脚分布

参考数据手册 第三部分:引脚定义

除了图上标注的 11 个特殊引脚外,还有 4 组一字母作为组编号的普通引脚

  • GPIOA:PA0 ... PA15
  • GPIOB:PB0 ... PB15
  • GPIOC:PC13,PC14,PC15
  • GPIOD:PD0,PD1

STM32F103C8T6 (LQFP48) 引脚详细定义表 (截自数据手册 3.引脚定义-表5)

🔴 红色:电源 / 晶振 / 复位 / 启动配置

🟠 橙色:模拟电源(ADC)

🔵 蓝色:PA 口引脚

🟣 紫色:PB 口引脚

⚫ 灰色:数字电源 / 地

引脚号 引脚名称 类型 I/O电平 主功能 默认复用功能 重定义功能 备注
1 VBAT S - 备用电源 - - RTC/备份寄存器掉电供电
2 PC13-TAMPER-RTC I/O 3.3V PC13 TAMPER-RTC - 侵入检测、RTC时钟输入
3 PC14-OSC32_IN I 3.3V PC14 OSC32_IN - 32.768kHz晶振输入
4 PC15-OSC32_OUT O 3.3V PC15 OSC32_OUT - 32.768kHz晶振输出
5 OSC_IN I 3.3V OSC_IN - - 外部8MHz晶振输入
6 OSC_OUT O 3.3V OSC_OUT - - 外部8MHz晶振输出
7 NRST I 3.3V 复位引脚 - - 低电平复位,内置上拉
8 VSSA S - 模拟地 - - ADC模拟地,独立布线
9 VDDA S - 模拟电源 - - ADC供电,3.3V
10 PA0-WKUP I/O 3.3V PA0 WKUP、USART2_CTS、ADC12_IN0、TIM2_CH1_ETR - 唤醒引脚,可触发外部中断
11 PA1 I/O 3.3V PA1 USART2_RTS、ADC12_IN1、TIM2_CH2 - 通用IO+ADC+定时器通道
12 PA2 I/O 3.3V PA2 USART2_TX、ADC12_IN2、TIM2_CH3 - 串口2发送引脚
13 PA3 I/O 3.3V PA3 USART2_RX、ADC12_IN3、TIM2_CH4 - 串口2接收引脚
14 PA4 I/O 3.3V PA4 SPI1_NSS、USART2_CK、ADC12_IN4 - SPI1片选引脚
15 PA5 I/O 3.3V PA5 SPI1_SCK、ADC12_IN5 - SPI1时钟引脚
16 PA6 I/O 3.3V PA6 SPI1_MISO、ADC12_IN6、TIM3_CH1 TIM1_BKIN SPI1主入从出引脚
17 PA7 I/O 3.3V PA7 SPI1_MOSI、ADC12_IN7、TIM1_CH2 TIM1_CH1N SPI1主出从入引脚
18 PB0 I/O 3.3V PB0 ADC12_IN8、TIM3_CH3 TIM1_CH2N 通用IO+ADC+定时器通道
19 PB1 I/O 3.3V PB1 ADC12_IN9、TIM3_CH4 TIM1_CH3N 通用IO+ADC+定时器通道
20 PB2 I/O FT PB2/BOOT1 - 启动模式选择,5V容忍
21 PB10 I/O FT PB10 I2C2_SCL、USART3_TX - I2C2时钟、串口3发送
22 PB11 I/O FT PB11 I2C2_SDA、USART3_RX - I2C2数据、串口3接收
23 VSS1 S - 数字地 - - 芯片数字接地
24 VDD1 S - 数字电源 - - 芯片数字供电,3.3V
25 PB12 I/O FT PB12 SPI2_NSS、I2C2_SMBAI、USART3_CK、TIM1_BKIN - SPI2片选、5V容忍
26 PB13 I/O FT PB13 SPI2_SCK、USART3_CTS、TIM1_CH1N - SPI2时钟、5V容忍
27 PB14 I/O FT PB14 SPI2_MISO、USART3_RTS、TIM1_CH2N - SPI2主入从出、5V容忍
28 PB15 I/O FT PB15 SPI2_MOSI、TIM1_CH3N - SPI2主出从入、5V容忍
29 PA8 I/O 3.3V PA8 MCO、USART1_CK、TIM1_CH1 - 系统时钟输出、定时器通道1
30 PA9 I/O 3.3V PA9 USART1_TX、TIM1_CH2 - 串口1发送引脚
31 PA10 I/O 3.3V PA10 USART1_RX、TIM1_CH3 - 串口1接收引脚
32 PA11 I/O 3.3V PA11 USART1_CTS、USBDM、CAN_RX、TIM1_CH4 - USB数据负、CAN接收
33 PA12 I/O 3.3V PA12 USART1_RTS、USBDP、CAN_TX、TIM1_ETR - USB数据正、CAN发送
34 PA13 I/O 3.3V JTMS / SWDIO - PA13 JTAG/SWD调试数据
35 VSS2 S - 数字地 - - 芯片数字接地
36 VDD2 S - 数字电源 - - 芯片数字供电,3.3V
37 PA14 I/O 3.3V JTCK / SWCLK - PA14 JTAG/SWD调试时钟
38 PA15 I/O 3.3V JTDI - PA15、TIM2_CH1_ETR、SPI1_NSS JTAG 调试接口的数据输入
39 PB3 I/O FT JTDO - PB3 、TRACESWO、TIM2_CH2、SPI1_SCK JTAG数据输出、5V容忍
40 PB4 I/O FT NJTRST - PB4 、TIM3_CH1、SPI1_MISO JTAG复位、5V容忍
41 PB5 I/O FT PB5 I2C1_SMBAI TIM3_CH2、SPI1_MOSI 通用定时器、5V容忍
42 PB6 I/O FT PB6 I2C1_SCL、TIM4_CH1 USART1_TX I2C1时钟、5V容忍
43 PB7 I/O FT PB7 I2C1_SDA、TIM4_CH2 USART1_RX I2C1数据、5V容忍
44 BOOT0 I 3.3V BOOT0 - - 启动选择,高电平进ISP
45 PB8 I/O FT PB8 TIM4_CH3 I2C1_SCL、CAN_RX 通用定时器、5V容忍
46 PB9 I/O FT PB9 TIM4_CH4 I2C2_SDA、CAN_TX 通用定时器、5V容忍
47 VSS3 S - 数字地 - - 芯片数字接地
48 VDD3 S - 数字电源 - - 芯片数字供电,3.3V

STM32 支持 JTAG/SWD 两种调试方式:

  • SWD:SWDIO、SWCLK -- 【ST-LINK 用的是 SWD 方式】
  • JTAG:JTMS、JTCK、JTDI、JTDO、NJTRST
    BOOT 与启动模式:

.

BOOT0 BOOT1 启动位置 说明 用途
0 任意 主闪存(Flash) 从芯片内部程序存储器启动 正常运行、下载程序后默认使用
1 0 系统存储器(ISP) 从出厂固化的串口下载程序启动 串口一键下载、USB转TTL烧录
1 1 内置SRAM 从内存启动,不掉程序 调试、快速运行代码,断电丢失

快速记忆

  • 正常运行:BOOT0=0
  • 串口下载:BOOT0=1,BOOT1=0
  • 调试运行:BOOT0=1,BOOT1=1

💙 STM32 系统结构 (截图自参考手册 2.1)

三个总线 + 三大块结构

💙 STM32F103C8T6 最小系统电路

相关推荐
snowfoootball2 小时前
自用常用提示词库(建设中)
学习
arvin_xiaoting2 小时前
OpenClaw学习总结_II_频道系统_5:Signal集成详解
java·前端·学习·signal·ai agent·openclaw·signal-cli
轻抚酸~2 小时前
403-Bypass(学习记录)
学习·web安全
-To be number.wan2 小时前
计算机组成原理-计算机系统概述复盘
学习·计算机组成原理
小陈phd2 小时前
系统架构师学习笔记(四)——计算机体系结构之校验码
笔记·学习
Yu_Lijing2 小时前
基于C++的《Head First设计模式》笔记——中介者模式
笔记·设计模式·中介者模式
啥咕啦呛2 小时前
java打卡学习3:ArrayList扩容机制
java·python·学习
路小雨~2 小时前
Django 学习笔记:从入门到项目开发的完整梳理
笔记·python·学习·django
chushiyunen3 小时前
langchain笔记、实现rag笔记
笔记·langchain