STM32 Field Notes F103 · 10 chapters
10 章 · 33 节
章节 / Chapters 总进度 0.0%

STM32 field notes / F103C8T6

STM32 十章
知识点笔记。

从环境配置、GPIO、串口,到 I2C/SPI、中断、时钟树、定时器、ADC 与 CAN。按 10 个主题章节整理,保留概念、寄存器、标准库代码、原配图与逐节易错点。

10CHAPTERS / 章
365FIGURES / 配图
337PRIORITY TAGS / 标注
56PITFALLS / 易错速查

怎么用这份文档

按 10 个主题章节编排,每章集中讲透一个大内容,直接读就能懂。全书三层标记:

  • 🏷 优先级标签 —— 每个小节下面第一行,形如 〔A|面·背|车·机〕 加一句该怎么处理它,共 337 条。这是 2026-10-16 依据一手面经与你的求职总章程补的,用来决定学不学、学到什么程度;
  • 🔑 重点 —— 该节必须记住的结论,共 154 处;
  • ⚠ 易错 —— 会踩的坑,条目里同时给出正确写法,共 228 处。

🏷 的档位只有五个:A 硬地基(不会=没学)·B 重点掌握 ·C 懂原理即可 ·D 知道有这回事 ·E 可跳。 后面跟的是掌握方式(面面试高频 背要背 码要手写 算要会算 图要讲框图 坑高频踩坑)和赛道加权(车汽车电子/BSW 机机器人/具身固件)。

只想看必学的:搜 🏷 **〔A。想砍时间:搜 〔E 和 〔D。 全部汇总与逐档清单在同目录的 标注总表(由 _tags/gen_report.py 从标注数据自动生成,二者同源)。

每个知识块末尾多一节 本节小结(共 28 处,在「关键代码」之后):主线一句、必须会的 A 档、会被当面问的、可以先跳过的;知识点 ≥12 的 10 个知识块另带分组小记。平板上只刷这 28 段也够用。

分隔线有两种,作用不同:

  • 细线 ·················· —— 画在每个知识点小节的末尾,共 280 条。看到细线就是"这一条讲完了",不用把下面全部读完才知道边界在哪。
  • 粗线(真正的横线)—— 画在知识块内大区块之间:知识点区 ↔ 关键代码 ↔ 本节小结,共 56 条;知识块之间另有 28 条。

由 _tags/add_dividers.py 维护,幂等,重复运行不会叠线。

配图只保留知识密度高的(引脚图、时钟树、结构框图、时序图、寄存器位图、接线图、波形图),安装截图和重复截图已丢弃,其信息转写成了文字。每张图的图注写的是该从图里读出什么。

文末一张易错点速查表把 50 条容易搞错的地方集中列在一起,实验不通时先查它。

内容整理自 CSDN 博客「嵌入式铁头山羊STM32」(blog.csdn.net/m0_56408226),并补充了标准库与参考手册的对应说明,仅供个人离线学习。

目录

10 章 / 33 节

C8T6 / Quick reference

引脚与外设速查

STM32F103C8T6 · LQFP48 · 48 引脚。数据源:C8T6 引脚表 / DS5319 / RM0008 / 内部 API 汇总;重映射与不可用项按 48 脚封装标注。

48 引脚 · 5 类

LQFP48 · 48 引脚

#引脚默认复用 / 重映射FT
1VBAT后备电源RTC / 后备域供电—
2PC13TAMPER-RTC常用TAMPER-RTC板载 LED:低电平点亮(开漏)—
3PC14OSC32_INOSC32_INLSE 32.768 kHz 晶振—
4PC15OSC32_OUTOSC32_OUTLSE 32.768 kHz 晶振—
5OSC_INHSE 晶振输入重映射PD0 · CANRX(需关 HSE)板载 8 MHz 晶振—
6OSC_OUTHSE 晶振输出重映射PD1 · CANTX(需关 HSE)板载 8 MHz 晶振—
7NRST复位低电平复位—
8VSSA模拟地ADC 参考地—
9VDDA模拟电源ADC 参考电源—
10PA0WKUP常用WKUP · USART2_CTS · ADC12_IN0 · TIM2_CH1_ETRADC / TIM2 / 唤醒常用—
11PA1常用USART2_RTS · ADC12_IN1 · TIM2_CH2ADC 电位器实验常用—
12PA2USART2_TX · ADC12_IN2 · TIM2_CH3—
13PA3USART2_RX · ADC12_IN3 · TIM2_CH4USART2 默认 RX—
14PA4SPI1_NSS · USART2_CK · ADC12_IN4SPI1 默认 NSS / USART2_CK—
15PA5SPI1_SCK · ADC12_IN5SPI1 默认 SCK—
16PA6常用SPI1_MISO · ADC12_IN6 · TIM3_CH1重映射TIM1_BKINTIM3_CH1 PWM;SPI1 默认 MISO—
17PA7SPI1_MOSI · ADC12_IN7 · TIM3_CH2重映射TIM1_CH1NSPI1 默认 MOSI / TIM3_CH2—
18PB0ADC12_IN8 · TIM3_CH3重映射TIM1_CH2NADC12_IN8 / TIM3_CH3—
19PB1ADC12_IN9 · TIM3_CH4重映射TIM1_CH3NADC12_IN9 / TIM3_CH4—
20PB2BOOT1BOOT1启动模式选择:BOOT1—
21PB10FTI2C2_SCL · USART3_TX重映射TIM2_CH3USART3 / I2C2 / TIM2 重映射FT
22PB11FTI2C2_SDA · USART3_RX重映射TIM2_CH4USART3 / I2C2 / TIM2 重映射FT
23VSS_1地3.3 V 地—
24VDD_13.3 V 电源主电源—
25PB12FTSPI2_NSS · I2C2_SMBA · USART3_CK · TIM1_BKINSPI2 / TIM1_BKIN / USART3_CKFT
26PB13FTSPI2_SCK · USART3_CTS · TIM1_CH1NSPI2 / TIM1_CH1N / USART3_CTSFT
27PB14FTSPI2_MISO · USART3_RTS · TIM1_CH2NSPI2 / TIM1_CH2N / USART3_RTSFT
28PB15FTSPI2_MOSI · TIM1_CH3NSPI2 / TIM1_CH3NFT
29PA8常用FTUSART1_CK · TIM1_CH1 · MCOTIM1_CH1(捕获实验 Echo)FT
30PA9常用FTUSART1_TX · TIM1_CH2USART1 默认 TXFT
31PA10常用FTUSART1_RX · TIM1_CH3USART1 默认 RXFT
32PA11FTUSART1_CTS · CANRX · USBDM · TIM1_CH4CAN RX / USB DM;与 USB 共用FT
33PA12FTUSART1_RTS · CANTX · USBDP · TIM1_ETRCAN TX / USB DP;与 USB 共用FT
34PA13JTMS常用FTJTMS / SWDIOSWD 下载调试,勿占用FT
35VSS_2地3.3 V 地—
36VDD_23.3 V 电源主电源—
37PA14JTCK常用FTJTCK / SWCLKSWD 调试时钟FT
38PA15FTJTDI重映射TIM2_CH1_ETR · SPI1_NSS用 SPI1 重映射前关 JTAG、保留 SWDFT
39PB3FTJTDO重映射TIM2_CH2 · TRACESWO · SPI1_SCK关 JTAG 后才可作普通复用FT
40PB4FTJNTRST重映射TIM3_CH1 · SPI1_MISO关 JTAG 后才可作普通复用FT
41PB5I2C1_SMBA重映射TIM3_CH2 · SPI1_MOSI非 FT;SPI1 重映射 MOSI—
42PB6常用FTI2C1_SCL · TIM4_CH1重映射USART1_TXI2C1 默认 SCL;USART1 重映射同脚,二选一FT
43PB7常用FTI2C1_SDA · TIM4_CH2重映射USART1_RXI2C1 默认 SDA;USART1 重映射同脚,二选一FT
44BOOT0启动选择0=主 Flash;1=系统存储器(串口下载)—
45PB8FTTIM4_CH3重映射I2C1_SCL · CANRXI2C1 重映射 SCL / CAN RXFT
46PB9FTTIM4_CH4重映射I2C1_SDA · CANTXI2C1 重映射 SDA / CAN TXFT
47VSS_3地3.3 V 地—
48VDD_33.3 V 电源主电源—

常用 = 知识点笔记中的主用引脚;FT = 5V 容忍(以 DS5319 数据手册为准)。

AI review / chapter notes

AI 提醒

默认使用小米 MiMo V2.6 Flash;只读取当前章节或选中文字,不发送图片。Key 只保存在当前标签页。

将检查:本章正文

选中正文后再打开,会只分析选中的文字。AI 可能出错,寄存器、引脚与时序请以手册和上板实测为准。

模型接口设置未配置

默认接口为小米 MiMo,支持浏览器跨域;Key 只存在 sessionStorage,关掉标签页即清除。站点不会收到你的 Key。