如何修复 MicroPython 'ValueError: invalid I2C peripheral'

如果你看到错误消息

traceback_invalid_i2c.txt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid I2C peripheral

你可能正在运行类似这样的代码:

invalid_i2c_example.py
import machine

i2c = machine.I2C(machine.Pin(5), machine.Pin(4))

解决方案

MicroPython API 已更改(来源:论坛)。你需要改为使用此语法:

invalid_i2c_fix.py
import machine

i2c = machine.I2C(-1, machine.Pin(5), machine.Pin(4))

-1 是选择特定外设的 I2C ID。-1 选择可在大多数引脚上工作的软件 I2C 实现。请参见 MicroPython I2C 类文档了解更多详情。


Check out similar posts by category: Electronics, MicroPython, Python