2026-07-15-stm32-silicon-valley-ingest-design.md 7.6 KB

设计文档:尚硅谷 STM32 全套 4 份笔记导入计划

日期:2026-07-15 来源:尚硅谷嵌入式技术之STM32单片机(基础篇 V1.0.2 + 进阶篇 V1.0.1 + 高级篇 V2.0.1 + 扩展篇 V1.0.0) 目标目录raw/Joplin/嵌入式+Linux/STM32学习笔记/ 目标芯片:STM32F103ZET6 参考文件组织格式:FreeRTOS 学习笔记(raw/Joplin/嵌入式+Linux/FreeRTOS学习笔记/

1. 笔记分篇(共 21 篇)

基础篇 — 6 篇

# 篇名 对应源章节 核心扩展
01 STM32概述与开发环境搭建 概述 + Keil + 最小系统 命名规范、数据手册§1~3引用、原理图最小系统逐元件分析、Keil项目文件结构、芯片支持包选型
02 GPIO寄存器详解与三步进化法 GPIO 8模式+7寄存器 GPIO内部框图、参考手册§8寄存器位域表、原理图LED/KEY电路、三步进化(裸地址→结构体→位宏)
03 GPIO输出:LED控制 点亮LED+流水灯 模块化驱动封装、流水灯三种实现、Delay模块、源码复制+每行注释
04 GPIO输入与NVIC中断系统 按键+中断 按键消抖、EXTI中断配置、NVIC优先级分组、中断向量表
05 系统时钟RCC详解 RCC时钟树 时钟树逐级分析、SystemInit()源码解析、HAL版配置对照、参考手册§7 RCC寄存器
06 串口USART通信 USART轮询/中断/printf 串行协议帧格式、USART框图、波特率计算、printf重定向、代码双版

进阶篇 — 6 篇

# 篇名 对应源章节 核心扩展
07 I2C通信与EEPROM 24C02 I2C软件+硬件+24C02 I2C协议时序分析、软件模拟、硬件I2C状态寄存器、24C02页写限制
08 SysTick与通用定时器TIM SysTick+TIM时基 SysTick 4寄存器详解、TIM时基单元、溢出时间计算公式、参考手册§14
09 TIM高级应用:PWM与输入捕获 TIM PWM+捕获 PWM频率/占空比计算、呼吸灯、输入捕获测频、PWM模式1/2区别
10 DMA数据传输 DMA内存到内存/到串口 DMA框图、传输流程、通道映射表、存储器与外设增量模式
11 ADC模数转换 ADC单次/连续/多通道 SAR ADC原理、采样/转换时间计算、规则组vs注入组
12 SPI通信与FSMC总线 SPI+FSMC SPI四模式时序图、W25Q64 Flash驱动、FSMC地址映射与Bank选择

高级篇 — 5 篇

# 篇名 对应源章节 核心扩展
13 CAN通信协议与bxCAN外设 CAN协议+双机通信 数据帧逐位分析、位时序与同步、bxCAN滤波器、3种工作/测试模式
14 以太网通信与W5500 ETH+W5500 OSI/TCP-IP分层、W5500架构、官方库移植、TCP Server/Client/UDP
15 WiFi通信与ESP32-C3 WiFi AT指令+TCP ESP32-C3规格、AT指令集、Station/AP模式、透传模式
16 BLE低功耗蓝牙 BLE协议+通信 BLE vs 经典蓝牙、协议栈分层、角色模型、连接流程
17 LoRa远距离通信 LoRa节点+网关 LoRa扩频技术、CAD检测、星型组网、AT指令配置

扩展篇 — 4 篇

# 篇名 对应源章节 核心扩展
18 电源管理与低功耗模式 PWR低功耗 电源框图分析、三种模式对比表、PVD电压检测
19 BKP备份寄存器与RTC实时时钟 BKP+RTC日历/闹钟 备份域电路、RTC三时钟源、预分频器配置、Unix时间戳
20 看门狗IWDG与WWDG IWDG+WWDG IWDG超时速查表、WWDG窗口机制、喂狗时机计算
21 附录:HAL库架构与Keil MDK深入 HAL库+Keil附录 HAL驱动三层抽象、Keil编译四阶段、程序存储分布

2. 处理批次

批次 DOCX 产出笔记 代码来源 代码项目数
批次1 基础篇 01~06 上部\stm32/01~12 12
批次2 进阶篇 07~12 上部\stm32/13~42 30
批次3 高级篇 13~17 下部\stm32/01~25 25
批次4 扩展篇 18~21 下部\stm32/15~28 + 资料 14

3. 每篇笔记模板

结构镜像原 DOCX 章节组织方式(外设介绍 → 硬件设计 → 代码实验),代码直接从源文件复制并标注文件名,方便只看 MD 即可复现。

---
tags: [source-summary]
type: source
source: "尚硅谷嵌入式技术之STM32单片机 — {来源章节} + 配套代码{编号}"
author: "尚硅谷研究院"
date: YYYY-MM-DD
created: YYYY-MM-DD
---

# {外设名称}

> **用生活理解**:{一句话类比}

## {外设}介绍

### 基本概念

{是什么、有什么用、应用场景}

### 工作原理(框图 + 文字说明)

> 参考:STM32F103ZET6 参考手册 §X.X
> 参考:开发板原理图第X页 {引脚}

### {外设}的寄存器详解

| 寄存器 | 地址偏移 | 位域 | 说明 |
| ------ | -------- | ---- | ---- |
| CR1    | 0x00     | ...  | ...  |

## {外设}硬件电路设计

![电路原理图](assets/xxx.png)
{引脚连接说明}

## {实验/案例标题}

### 需求描述

### 硬件电路设计(如与通用硬件不同则补充)

### 软件设计(寄存器版)

**文件:{项目路径}/User/main.c**

```c
// 注释说明这段代码的功能
// 重要位操作行有详细注释
```

文件:{项目路径}/Hardware/{外设}/{driver}.h

// 头文件内容

文件:{项目路径}/Hardware/{外设}/{driver}.c

// 驱动源码 + 逐行注释

软件设计(HAL库版)

文件:{项目路径}/User/main.c

// HAL版代码,直接从源码项目复制

文件:{项目路径}/Hardware/{外设}/{driver}.c


核心函数速查表

函数 参数 功能简述
xxx ... ...

常见问题与避坑


## 4. 图片策略

- 保留所有原 DOCX 图片
- pandoc `--extract-media` 提取到临时目录
- 视觉 API 逐张验证内容(寄存器位域图/框图/时序图/原理图)
- 重命名为有意义名称(`{外设}_{内容}.png`)
- 复制到对应笔记的 `assets/` 子目录
- 引用使用相对路径

## 5. Wiki 更新

每批次完成后:
1. 更新 `wiki/source-stm32-{关键词}.md`
2. 更新 `wiki/index.md` 添加 STM32 章节
3. 追加 `wiki/log.md`
4. 提交 `ingest: 尚硅谷STM32 {批次名称}`