离线故障排查

先判断是编译、烧录、接线还是业务逻辑,不要同时改多个地方。

编译问题

现象原因处理
PlatformIO 找不到库打开了错误目录必须直接打开含 platformio.ini 的工程目录。
PlatformIO 尝试联网换了平台版本或加入外部库恢复原有 platformio.ini,不要添加 lib_deps
找不到 task_logic.cpp打开了工具包根目录或错误子目录在 VS Code 中直接打开选中的 arduino_pio\工程名

无法烧录或没有串口

  1. 换一根确认能传数据的 USB 线,不能只供电。
  2. 运行 tools\detect_ports.ps1,确认 COM 号。
  3. 关闭占用串口的监视器,再执行烧录。
  4. 自动下载失败时:按住 BOOT,点一下 RESET,松开 BOOT,再烧录。
  5. 烧录后看不到输出:确认 115200 波特率并按一下 RESET。

RGB LED 不亮或颜色不对

  • CT_RGB_PIN 在 GPIO38 与 GPIO48 之间切换。
  • 先发 SELFTEST,观察红、绿、蓝依次显示。
  • 若颜色交换,检查驱动发送顺序;板载灯默认按 GRB 发送。
  • 亮度默认较低是为了保护眼睛和供电,颜色值可提高到 255。

Touch 乱跳

  • 上电校准的 300 ms 内不要触碰导电片。
  • 输入 TOUCH CAL 重新校准。
  • SET TOUCH_DELTA 20 或更高数值降低灵敏度。
  • 缩短导线,导电片远离 USB 线、蜂鸣器线和人体持续接触区域。
  • 先连续查看 TOUCH READ,再确定阈值,不要猜固定原始值。

ADC 抖动或读数异常

  • 确保输入范围为 0–3.3 V,并与开发板共地。
  • 悬空 ADC 一定会乱跳;没有传感器时用电位器或固定分压。
  • 优先使用 ADC1 的 GPIO1,避免 ADC2 与无线功能相互影响。
  • 在信号源与地之间并联 0.1 μF 电容可进一步抑制噪声。
  • 题目边界附近需增加迟滞,不能只用一个裸比较条件。

NVS 保存失败或参数异常

  • 先输入 FACTORY 恢复带版本号和校验的数据结构。
  • 修改参数后必须输入 SAVE,然后断电重启验证。
  • 不要在 GPIO ISR、定时器 ISR 中写 NVS。
  • 若更改了配置结构体,必须递增版本号,否则旧数据会被误读。