CHAPTER 17 / FIELD GUIDE
调试、复习与结课项目
把能跑一次变成能解释、能重复。
统一排错顺序
| 层次 | 问题 | 验证方式 |
|---|---|---|
| 供电 | 电压对吗?启动时掉压吗? | 测静态电压;若仅瞬态故障,万用表可能捕捉不到 |
| 连接 | 共地、极性、针脚对吗? | 断电测通断;按网络逐根检查 |
| 外设 | 单模块是否可用? | 回到 blink / scan / 单轮工程 |
| 软件 | 配置与版本匹配吗? | 打印版本、状态、错误码,观察第一条错误 |
| 时序 | 是否阻塞、超时、竞争? | 给阶段记时间;减少日志扰动 |
| 系统 | 多个功能一起才坏? | 逐个恢复模块,记录触发条件 |
把“出错了”变成可求助的信息
硬件:板卡/模块准确型号、接线表、供电方式
软件:ESP-IDF 版本、工程编号、最近修改
期望:按键一次切换一次
实际:长按会连续切换
复现:上电后第几步开始,每次是否出现
证据:第一条错误起的完整日志、测得电压
已排除:数据线、最小工程、单模块验证两份结课作品
| 作品 | 必须完成 | 加分扩展 |
|---|---|---|
| 带屏幕的桌面设备 | 开关、读数、亮度条、上电默认安全状态、接线与说明 | 保存设置;任务分离;局域网状态页 |
| 两轮机器人 | 方向正确、渐进启动、按键停、限时停、物理断电 | 双轮编码器;闭环直行;失联停车;测距避障 |
后续做彩屏时再学习 SPI、帧缓冲和 LVGL;做机器人时再加入测距传感器、姿态与运动规划。ESP32 可承担传感、控制和轻量界面;复杂视觉与大模型通常需要其他计算设备协作。采购扩展模块前重新核对供电、逻辑电平、接口与剩余引脚。
怎样复习才不容易忘
- 次日:不看教程画出昨天的电路与程序流程。
- 三天后:从空白 main.c 重写一个小实验,再对照。
- 一周后:故意改变一个条件,例如按键极性、PWM 频率或 I²C 地址,预测结果。
- 完成项目后:解释一个真实故障的根因和证据,记录到 learning-records。不要把“看懂了”自动算成“会了”。
停下来想一想
复现一个故障时,为什么最好一次只改一个因素?
查看推导与答案
同时改线、换库、调时序,即使问题消失也无法判断原因。保留基线,每次只改变一个可验证的假设,才会得到可复用的知识。
本章验收
本章一手资料
卡住时可以直接向我提问:附上章节号、工程名、接线和第一条错误日志。