硬件清单与学习进度存档

硬件清单与学习进度存档

创建日期 :2026-05-27 | 最后更新 :2026-05-28

用途 :防止会话丢失后需要重新说明所有背景,下次直接读此文件即可恢复上下文。

主学平台 :DshanMCU-F407(STM32F407ZGT6,Cortex-M4)

目标:2026年暑假实习,打好单片机基础,后续学 Linux


一、核心开发板

板子 主控 角色
DshanMCU-F407 工控主控开发板 STM32F407ZGT6 主学平台,所有代码跑在上面
3.5寸 SPI TFT 触摸显示屏 ST7796S + 触摸 显示、交互
STM32F030 继电器开关控制板 STM32F030 RS485 从站(后续用)
STM32F030 温湿度蜂鸣器采集板 STM32F030 RS485 从站(后续用)
STM32F103 工控主控开发板 STM32F103 第二台开发机(后续做 RS485 对端)

二、外接模块清单

# 模块名称 核心用途 通信接口 适用知识点
1 ADXL345 三轴加速度计 检测三轴加速度、倾斜、震动 SPI/I2C SPI/I2C 通信(后期)
2 ESP-01S (ESP8266) WiFi 串口模块 单片机设备联网、远程通信 UART (AT 指令) UART 收发、字符串解析
3 EEPROM + 光敏电阻二合一模块(百问网) 光强检测 + 断电永久数据存储 I2C + GPIO I2C 通信、ADC
4 HS0038+DS18B20+DHT11 三合一传感器底板(百问网) 红外遥控接收、高精度测温、环境温湿度 GPIO 中断 + OneWire 外部中断、NEC 解码、精准延时
5 TTL 转 RS485 电平转换模块 单片机 TTL 串口转工业 485 差分信号 UART → RS485 RS485 工业通信
6 NEO-6M GPS 卫星定位模块 获取经纬度、海拔、UTC 时间 UART (NMEA 协议) UART 接收、数据解析
--- USB 转 TTL 串口模块(CH340) 电脑串口调试 USB→UART 调试工具
--- STM32 扩展转接板 把开发板引脚分类(GPIO、SPI、I2C、串口),方便接线 --- 辅助工具
--- 4pin 杜邦端子连接线 扩展板和其他模块快速接线 --- 辅助工具

三、扩展板引脚定义(51pin)

由上到下排列,上为引脚,下为模块/板子。

序号 引脚名 序号 引脚名 序号 引脚名
1 BOOT0 18 PA6 35 PB13
2 AKEY0 19 PC4 36 PB15
3 VBAT 20 PB1 37 PD14
4 PB9 21 PE1 38 PD10
5 PE4 22 PB4 39 PD8
6 PE6- 23 PB5 40 PD12
7 PF1 24 PB7 41 PG8
8 PF3 25 3.3V 42 PC7
9 PF5 26 GND 43 PC9
10 PF7 27 GND 44 PA15
11 PC0 28 5V 45 PD0
12 PC2 29 PG7 46 PD2
13 VREF 30 PE7 47 PC11
14 PA2 31 PE9 48 PD4
15 PB10 32 PE11 49 PD6
16 PB0 33 PE13 50 PG9
17 PA4 34 PE15 51 PG11
52 PG13

供电引脚

  • 3.3V:引脚 25
  • GND:引脚 26、27
  • 5V:引脚 28

四、视频学习进度

4.1 韦东山老师视频(全部已看完)

这是"搭建开发环境 → 学习到 UART"的完整任务,视频已全部看完 (理论已覆盖)

复制代码
[05-11] 按键控制LED(CubeMX没啥神秘的)          ✅ 已看
[05-12] 光敏传感器控制蜂鸣器                       ✅ 已看
[06-1]  中断概念的引入(按键丢失)                  ✅ 已看
[06-2]  STM32中断体系结构                          ✅ 已看
[06-3-1] GPIO中断编程(按键控制LED)               ✅ 已看
[06-3-2] 中断HAL库代码解析                         ✅ 已看
[06-4]  使用OLED进行调试(用LCD替代)              ✅ 已看
[06-5-1] 使用定时器消除抖动                        ✅ 已看
[06-5-2] 环形缓冲区概念与编程                      ✅ 已看
[06-5-3] 使用环形缓冲区防止按键丢失                ✅ 已看
[07-1]  同步传输与异步传输                         ✅ 已看
[07-2-1] UART协议                                  ✅ 已看
[07-2-2] STM32F103_UART硬件结构                    ✅ 已看
[07-3-1] 串口编程_查询方式                         ✅ 已看
[07-3-2] 串口编程_不实用的官方中断模式             ✅ 已看
[07-3-3] 串口编程_中断方式改造                     ✅ 已看
[07-3-4] 串口编程_DMA方式                          ✅ 已看
[07-4]  使用DMA+IDLE中断接收数据                   ✅ 已看
[07-5]  完善UART程序与stdio                        ✅ 已看

4.2 当前实践进度

⚠️ 核心原则:视频已看完(理论),现在用模块做 hands-on 实践来真正掌握。

复制代码
当前阶段:06-5 定时器 → 超声波测距 + 环形缓冲区  ← 从这里开始动手实践
下一步:07   UART → 用 ESP-01S / GPS 模块练手
之后:   面向对象封装 UART(另一个老师的任务)

4.3 另一个老师的任务(面向对象封装部分)

等韦东山主线实践完成后,再回头看这部分。

复制代码
[04] 使用面向对象的思想构造结构体...
[05] 面向对象封装UART_编写框架
[06] 面向对象封装UART_编程
[07] 面向对象封装UART_调试

⚠️ 目前只需考虑到"05 使用面向对象思想",后面的暂时不用管。


五、学习路线总览(已结合目标审查 ✅)

5.1 目标:幻尔机器人实习

幻尔是做机器人的公司,机器人开发需要的单片机技能:

机器人需要的技能 对应学习路线中的内容 优先级
传感器读取(超声波、红外等) 06-5 超声波测距、GPIO 中断 ⭐⭐⭐
电机控制(PWM/舵机) 定时器 PWM(路线中有规划) ⭐⭐⭐
串口通信(与各模块通信) 07 UART 全系列 ⭐⭐⭐
工业总线(RS485) 路线中的 RS485 专题 ⭐⭐⭐
IMU 姿态读取 ADXL345(I2C/SPI 阶段) ⭐⭐
多任务调度 FreeRTOS(可后续加入) ⭐⭐
Linux 基础 实习中再学(你自己也说了)

5.2 路线审查结论:没问题,合理

这条路线对幻尔机器人实习来说是扎实的基础路线,理由:

  1. 不缺不漏 --- GPIO → 中断 → 定时器 → UART → I2C/SPI → RS485,覆盖了嵌入式开发的全部核心外设
  2. RS485 是你的杀手锏 --- 大多数自学者只玩单板,你有三块板子做多机通信,这在工业/机器人场景非常实用
  3. 模块先练再理论深化 --- 先用超声波/ESP-01S/GPS 练手,再看 OOP 重构代码,符合"先会做,再做优雅"的学习曲线
  4. 节奏适合 --- 1~2 个月专注搞完这条线,暑假去实习时已经有足够的动手经验

建议实习前再加一个:FreeRTOS 的基础任务(创建 2~3 个任务),因为机器人通常跑 RTOS。这个可以在 UART 实践完成后快速过一遍。

5.3 完整的实践路径

复制代码
当前 ──── 06-5 超声波测距(定时器输入捕获 + 脉宽测量)
              │
              ▼
         超声波 + 环形缓冲区(存最近 N 次数据)
         + LCD 显示距离 + 蜂鸣器报警(<20cm)
              │
              ▼
[07] UART 模块实战(视频已看,动手做)
     ① ESP-01S: AT 指令通信(UART 查询)
     ② NEO-6M GPS: NMEA 数据解析(UART 中断)
     ③ GPS 不定长接收(DMA+IDLE)
     ④ ESP-01S + GPS 在 LCD 上显示数据
              │
              ▼
[I2C/SPI] 模块实战
     ① EEPROM 读写(I2C)
     ② ADXL345 加速度计(I2C/SPI)
     ③ DS18B20 + DHT11 温湿度(OneWire)
              │
              ▼
[RS485 专题] 多板通信 ← 你的核心优势
     F407 ↔ F030 温湿度板 ↔ F103 工控底板
              │
              ▼
[面向对象] 重构 UART 代码
              │
              ▼
[FreeRTOS 基础] ← 建议实习前跑通
     创建 2~3 个任务

六、引脚分配规划(模块 ↔ 开发板)

模块 接口 推荐引脚 说明
HC-SR04 超声波 Trig (GPIO输出) PB0 / PB1 发 10μs 高电平触发
Echo (定时器输入捕获) PA6 / PA7 测脉宽(注意 5V→3.3V 分压)
光敏电阻(二合一) GPIO 输入 PC0 暗→高电平,亮→低电平
EEPROM(二合一) I2C PB6(SCL) / PB7(SDA) I2C 通信
ESP-01S UART PA9(TX) / PA10(RX) AT 指令通信,注意供电
NEO-6M GPS UART PB10(TX) / PB11(RX) 或 PD5/PD6 NMEA 协议解析
TTL→RS485 UART + GPIO UART + PA8(RE/DE) 485 方向控制
DS18B20(三合一) OneWire PC2 / PC4 单总线,需精准延时
DHT11(三合一) OneWire PB4 / PB5 单总线,含数据校验
HS0038(三合一) GPIO 中断 PE4 / PE6- NEC 红外解码
ADXL345 I2C 或 SPI I2C: PB6/PB7 或 SPI 加速度计
蜂鸣器 GPIO 输出 PA7(低电平触发) 有源蜂鸣器
LED GPIO 输出 PF9 / PF10(低电平点亮) 板载 LED

七、CubeMX 常用配置备忘

配置项
芯片型号 STM32F407ZGTx
HCLK 主频 168 MHz
IDE MDK-ARM (Keil)
串口 1 PA9(TX), PA10(RX), 115200 baud
LED 引脚 PF9, PF10(低电平点亮)
中断优先级分组 NVIC_PRIORITYGROUP_4

八、重要提醒

  1. HC-SR04 Echo 引脚是 5V 电平,接 F407 必须串联 1K~2K 电阻分压,否则可能烧 GPIO
  2. ESP-01S 瞬间电流可达 300mA+,开发板 3.3V 可能带不动,建议外接 3.3V 稳压或使用 5V→AMS1117-3.3
  3. 所有代码写在 USER CODE 区域,否则 CubeMX 重新生成代码时会被擦除
  4. 学习原则:看视频 → 理解原理 → 关掉视频自己敲 → 用模块实践 → 排错 → 记笔记

九、恢复对话指引

如果会话丢失,下次只需:

  1. 读取本文件
  2. 读取 学习路线规划与模块实践指南.md
  3. 读取 HAL快速入门与项目实战-保姆级笔记.md
  4. 告诉我"从 06-5 超声波测距 + 环形缓冲区继续"

即可无缝恢复教学指导,无需重新说明背景。

相关推荐
Engineer邓祥浩7 小时前
软件设计师备考 第0章 题型分布、示例、学习路线
学习·职场和发展
楷哥爱开发7 小时前
Facebook解封指南:4种封禁类型及其原因(附对应申诉方法)
网络·学习·安全
吃好睡好便好7 小时前
矩阵的乘法运算
数据结构·人工智能·学习·线性代数·算法·matlab·矩阵
水木流年追梦8 小时前
大模型入门-大模型优化方法1
人工智能·学习·算法·机器学习·正则表达式
摇滚侠9 小时前
IDEA 新建 Java 项目 学习 Java SE
java·学习·intellij-idea
叶~小兮9 小时前
K8s常用组件学习笔记
笔记·学习·kubernetes
星恒随风9 小时前
从零开始理解 ResNet(上):为什么 CNN 需要“残差连接”?
人工智能·笔记·神经网络·学习·cnn
z小猫不吃鱼9 小时前
08 BERT 论文精读:双向 Transformer 如何学习语言表示?
学习·bert·transformer
shuaiqinke9 小时前
【分享】医维度解剖 3D人体模型 解剖学习超直观
学习·3d