# ADC通道配置就绪修订与灯具模拟接口核对 A41

状态：吸尘器ADC驱动的实际代码已修订并通过主机/目标编译验证；灯具模拟接口完成网表核对，尚未绑定ADC目标采样。FABRICATION_HOLD；三款整机20项功能效果仍0项实测验证。

## 本轮实际修复

A30 吸尘器 `read_adc` 在写 CHSELR 后立即设置 ADSTART。STM32G0 的通道配置需若干ADC时钟生效，未就绪时可忽略启动命令。A41先清旧转换/配置完成标志，写新通道，带有限循环等待 CCRDY，再启动转换。配置超时、转换超时或OVR会将内部ADC就绪标志锁定false，后续不再返回成功采样；正在转换时请求停止。未证明ADSTP在硬件上已完成，错误后依赖原main的关断并进入等待路径，需显式重新初始化/复位恢复。

依据：[ST RM0454 ADC_CR / CCRDY](https://www.st.com/resource/en/reference_manual/rm0454-stm32g0x0-advanced-armbased-32bit-mcus-stmicroelectronics.pdf)，[ST 官方HAL驱动关于通道配置需要ADC时钟生效的说明](https://github.com/STMicroelectronics/stm32g0xx-hal-driver/blob/master/Src/stm32g0xx_hal_adc.c)。ADC由当前单一串行采样路径独占，不能由未协调的ISR或另一调用者改CHSELR。

吸尘器 `vacuum_board.c` 除 `read_adc` 函数外的源文本逐字不变，PA12物理脚17输出关断修订保留；PCB/BOM没有修改。共享MCU依赖移至 `stm32_shared`，避免将旧灯具目标源混入本吸尘器发布包，寄存器/CMSIS/启动/链接/runtime源字节保留。

## 证据与边界

- 72组实际read_adc函数测试：8个通道 × 3种通道配置延迟 × 3种转换延迟，检查返回数据的通道身份、旧EOC/EOS/OVR和旧DR不被当作新值。
- 配置超时、转换超时、OVR、后续调用锁定及null/非法通道/忙状态拒绝通过；输出缓冲区失败时不被改写。W1C、硬件延迟配置、未就绪时忽略ADSTART用独立MMIO事件模型模拟，不是通电采样。
- 原A30实际函数在延迟配置场景下失败，负对照成立。
- 原有风机输出锁、VREFINT/VDDA与电压电流数值转换、风机策略回归通过，ASan/UBSan通过。
- 完整Cortex-M0+编译链接/已有映像静态检查通过，FLASH 3868 B，BIN SHA256 `ade0f7121840f3fa64055de4f05d4c810537f793b8c523575559c2c84fa138ba`。风机供电/PWM回调仍硬锁关断，未实现运行效果。

等待上限仍为100000次循环，未测墙钟时间，不是“100000ms”或保证毫秒级实时响应。这仍是已有吸尘器诊断采样结构，不能直接作为灯具5ms输入采样调度保证；灯具应采用有调度界限的采样实现。全ADC初始化、时钟/校准/模拟准确度和停止转换波形仍未实机验证。原main错误后停止，保留的旧调试快照带旧时间戳，不能将其当作继续实时采样。

配对吸尘器A29板 SHA256 `e1bf1365dea0e4bca9e80965c3ff25a0dd5bd0ab420e2e8a4760ee663711a3ab`。本轮没有新跑CAD检查，也不新增其制造资格结论。

## 灯具模拟接口核对

A39网表确认：U1.8=PA1/ADC_IN1/NTC_ADC，R10=10k上拉到CTRL_3V3，C3=100n到GND，外部NTC由J4.4接入。NTC精确曲线/公差/安装温度位置未选定，不能把一个假设的10k阻值转换成已校准温度或热保护阈值。

U1.12=PA5/ADC_IN5/LED_V_SENSE，经R13=1k和C4=100n；U1.13=PA6/ADC_IN6/LED_I_SENSE，经R14=1k和C5=100n。这两路依赖J3外部约定的0–3V调理信号，上游分压/分流电阻/增益/偏移/限幅未绑定到已完成的实际电路。不能将LED主电压直接送入这些MCU输入，也不能由原始count宣称已测得整机LED功率。

接口映射CSV及参考网表随包提供。灯具当前仍为A40：只有数字温控触点、联锁、按键、PC15 IR采样，NTC/供电ADC和驱动健康反馈未绑定，输出关断。下一步补灯具ADC采样及实际模拟调理/校准链，再完成输出闭环和三款物理验证。

## 交付

包内包括可编辑吸尘器完整所需源、ELF/BIN/MAP、主机模型与负对照、回归与构建日志、灯具模拟映射及参考网表、SHA清单。运行 `sh run_checks.sh`，需要cc/Python3/arm-none-eabi工具链，依赖均在包内。不增加BOM器件，不宣称千台整机成本达标。未采购、联系供应商、烧录或通电。
