EC800M QuecPython I2C 调试总结
原始问题
JN_yangpin.py 启动后 I2C 传感器读取全部失败。
未修复(根因)
machine.I2C.read/write 在所有已测固件上均不可用。测试了 3 个固件版本、60+ 组参数组合、4 路 I2C 通道、8 种 buffer 类型:
| 测试路径 | 结果 |
|---|---|
5 位置参数 read(addr, reg, 1, buf, 2) |
'dalay' argument required |
6 位置参数 read(addr, reg, 1, buf, 2, 0) |
buffer protocol required |
全关键词 read(addr, reg, databuf=..., datasize=...) |
buffer protocol required |
2 参数 write(addr, buf) |
'regaddr_len' required |
5 参数 write(addr, reg, 1, buf, 1) |
buffer protocol required |
| AT 命令 I2C | 无响应 |
根因:固件 I2C Python 绑定层存在参数分发缺陷——read 需要的 dalay 参数会触发 bytearray 的 buffer protocol 检查失败,形成死锁。
已正常工作
- GPIO / 防拆检测

- GNSS 定位

- MQTT 云通信

解决方案
联系移远 FAE,提供测试文件 i2c_test.py 和固件版本号,要求 I2C 寄存器读取可工作的固件。

