# 设计文档:尚硅谷 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 即可复现。 ```markdown --- 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** ```c // 头文件内容 ``` **文件:{项目路径}/Hardware/{外设}/{driver}.c** ```c // 驱动源码 + 逐行注释 ``` ### 软件设计(HAL库版) **文件:{项目路径}/User/main.c** ```c // HAL版代码,直接从源码项目复制 ``` **文件:{项目路径}/Hardware/{外设}/{driver}.c** ```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 {批次名称}` ```