CHAPTER 17 / FIELD GUIDE

调试、复习与结课项目

把能跑一次变成能解释、能重复。

建议用时 60 分钟 + 项目实践先预测,再实验,再解释

统一排错顺序

层次问题验证方式
供电电压对吗?启动时掉压吗?测静态电压;若仅瞬态故障,万用表可能捕捉不到
连接共地、极性、针脚对吗?断电测通断;按网络逐根检查
外设单模块是否可用?回到 blink / scan / 单轮工程
软件配置与版本匹配吗?打印版本、状态、错误码,观察第一条错误
时序是否阻塞、超时、竞争?给阶段记时间;减少日志扰动
系统多个功能一起才坏?逐个恢复模块,记录触发条件

把“出错了”变成可求助的信息

硬件:板卡/模块准确型号、接线表、供电方式
软件:ESP-IDF 版本、工程编号、最近修改
期望:按键一次切换一次
实际:长按会连续切换
复现:上电后第几步开始,每次是否出现
证据:第一条错误起的完整日志、测得电压
已排除:数据线、最小工程、单模块验证

两份结课作品

作品必须完成加分扩展
带屏幕的桌面设备开关、读数、亮度条、上电默认安全状态、接线与说明保存设置;任务分离;局域网状态页
两轮机器人方向正确、渐进启动、按键停、限时停、物理断电双轮编码器;闭环直行;失联停车;测距避障

后续做彩屏时再学习 SPI、帧缓冲和 LVGL;做机器人时再加入测距传感器、姿态与运动规划。ESP32 可承担传感、控制和轻量界面;复杂视觉与大模型通常需要其他计算设备协作。采购扩展模块前重新核对供电、逻辑电平、接口与剩余引脚。

怎样复习才不容易忘

  1. 次日:不看教程画出昨天的电路与程序流程。
  2. 三天后:从空白 main.c 重写一个小实验,再对照。
  3. 一周后:故意改变一个条件,例如按键极性、PWM 频率或 I²C 地址,预测结果。
  4. 完成项目后:解释一个真实故障的根因和证据,记录到 learning-records。不要把“看懂了”自动算成“会了”。
停下来想一想

复现一个故障时,为什么最好一次只改一个因素?

查看推导与答案

同时改线、换库、调时序,即使问题消失也无法判断原因。保留基线,每次只改变一个可验证的假设,才会得到可复用的知识。

本章验收

本章一手资料

卡住时可以直接向我提问:附上章节号、工程名、接线和第一条错误日志。