关于VL53L0X测距的问题?

2019-07-21 00:26发布

串口打印出来的信息:
SPADS Calibration Error,Restart this step
The SPADS Calibration Start...
Calibration is error!!---------------------------------------------------------------
IIC调出来可以读寄存器地址0x00c0的数据是0xEEAA,也改了寄存器地址为0x54,再读出来也没错,但是到了SPADS校准这里就出现问题了。
Debug发现在VL53L0X_StaticInit()函数里的VL53L0X_get_info_from_device()这个函数里
        if (((option & 1) == 1) &&
                        ((ReadDataFromDeviceDone & 1) == 0)) {
                        Status |= VL53L0X_WrByte(Dev, 0x94, 0x6b);
                        Status |= VL53L0X_device_read_strobe(Dev);//执行到这句的时候 我Dev的设备地址会变成别的,多调试几次还有几率出现0x54(设定的IIC寄存器的设备地址)。
                        Status |= VL53L0X_RdDWord(Dev, 0x90, &TmpDWord);
为什么会出现这个情况呢 ?
初始化的时候也用到了VL53L0X_get_info_from_device();这个函数,就没报错。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
112chang222
2019-07-21 04:44
楼主,我最近也在做VL53l0x测距,我出现的问题是  control interface 错误,最后检查是要么引脚没焊好,要么引脚接错了,所以你的问题我没见到过。综上,原子哥的程序没问题,我在f103zet6和f103c8t6测试也没问题。所以我的建议是:
1,检查vl53l0x模块有没有问题(这可以把模块拿到其它能正常使用模块的板子能上面测试)。
2,如果模块没有问题,就检查模块和开发板的连接或者板子有没有问题。

一周热门 更多>