正如标题所说,我试图从连接到 Raspberry Pi 零 W 的两个 vl53l0x 传感器中获取值。
我连线都很好,我一一测试了传感器。他们运作良好。
问题是当它们都连接到 I2C 总线时,我无法与它们交谈,因为它们具有相同的默认地址 0x29(使用以下命令检查sudo i2cdetect -y 1
:)
我阅读了传感器的数据表并在线搜索资源以了解如何更改存储地址的传感器寄存器值。有一种特定的方法可以做到这一点,您可以在此处看到:AN4846 Application note from page 5。
然后我发现了这个我现在用来实现目标的存储库。
但是当我运行 VL53L0X_multi_example.py 我得到这个输出
VL53L0X Start Ranging Address 0x2B
Setting I2C Address to 0x2B
Call of VL53L0X_SetAddress
API Status: -20 : Control Interface Error
VL53L0X Start Ranging Address 0x2D
Setting I2C Address to 0x2D
Call of VL53L0X_SetAddress
API Status: -20 : Control Interface Error
VL53L0X_BETTER_ACCURACY_MODE
Set Accuracy
API Status: -20 : Control Interface Error
VL53L0X_BETTER_ACCURACY_MODE
Set Accuracy
API Status: -20 : Control Interface Error
Timing 20 ms
1 - Error
2 - Error
...
Call of VL53L0X_StopMeasurement
API Status: -20 : Control Interface Error
Call of VL53L0X_StopMeasurement
API Status: -20 : Control Interface Error
我不明白为什么会出现这个错误(API 状态:-20:控制接口错误),评论为
中断清除期间的错误
在 Api/core/inc/vl53l0x_def.h 中,被触发。出了什么问题?