# 美甲灯PCA单寄存器异步读取候选 A50

新增目标源lamp_i2c_read.c/h，链接到Cortex-M0+目标镜像。保留A49 main及其共享引脚/关断启动路径不变，ELF验证新增读模块已链接且没有从main开始交易。没有配置TIMINGR或开启PE，没有实际PCA通信。此前A49完整回归的结果只适用于继承部分；本轮新增模块完成独立ASan/UBSan主机寄存器模型和完整目标重编译，不宣称三款实机效果已验证。

状态机每次poll执行有限一步，不用阻塞等待：start以7bit地址左移1配置NBYTES1/写方向/SOFTEND；TXIS发送一个寄存器指针；TC后配置NBYTES1/读方向/AUTOEND/重复START；RXNE保存临时字节；直到STOPF且BUSY消失才清STOP/CR2并发布。当前只允许A47三地址0x15/0x19/0x65与MODE2、EFLAG0..5，不发送配置数据/PWM/IREF/CLRERR。A48同步回调不能直接绑定此异步API，需下一步修改整组调度及时间证据，避免假装同步回调已完成。

候选交易总预算5ms、轮询间隔5ms。NACK/BERR/ARLO/OVR/TIMEOUT、时钟反向/超龄、过早STOP或意外RX/TC事件均锁存失败且结果失效；清错误并禁用自身PE，ARLO不发STOP，其他BUSY错误尝试STOP后禁用。此路径不证明物理SDA/SCL已经释放或BUSY已恢复，不提供自动九脉冲恢复。failed不会自行重试；reset只清软件状态，禁止把它当硬件恢复；必须由总线所有者先恢复并重新资格确认。部分数据、不完整STOP或旧数据不能发布，get失败不改调用者输出，新start立即使旧成功结果失效。

ready只检查A49引脚保护、CR1严格PE且无IRQ/DMA/额外模式、非零TIMINGR；这不是完整时钟/滤波资格验证。尚无setup owner，故模块不得在实际main启用。未来owner必须验证时钟源/实际速率、TIMINGR/滤波/外部上拉与线路RC、独占I2C1/无HAL或IRQ/DMA并发，以及driver复位/供电状态。外部单调时间和poll运行频率也需实测；停止CPU/停SysTick不能靠本模块保证输出撤销。当前关断控制保持不变。

依据：ST官方G0 HAL源的RequestMemoryRead与Mem_Read实际实现；下载源及授权文件保存在包内，哈希记录。未将HAL作为链接后端。RM0454网页两次取用超时，因此不声称已核对该手册；RM0444为G0x1，没有冒充G030专用依据。本轮未计算或启用总线时序。

检查65632个地址/寄存器与读路径情况，另覆盖跨32bit时间回绕、倒退、每阶段5类错误/超时、RX与STOP同时到达、STOP仍BUSY、所有输入限制、DMA/未启用/未配置/引脚冲突，失败输出保留。测试模拟硬件ISR变化；它不能证明电气时序。将RX到达改为立即DONE/valid的实际变异源被独立STOP断言拒绝。执行sh run_reader_checks.sh；python3 verify_negative.py；sh firmware/固件/lamp_target/build.sh。

无PCB变化、无制造放行、无采购/外联/烧录/通电/下单。LED驱动板仍无封装/布局，三款20项功能效果仍0项实测确认，千台完整整机锁料报价和实物验证仍待完成。FABRICATION_HOLD。
