串口打印出来的信息:
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();这个函数,就没报错。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1,检查vl53l0x模块有没有问题(这可以把模块拿到其它能正常使用模块的板子能上面测试)。
2,如果模块没有问题,就检查模块和开发板的连接或者板子有没有问题。
一周热门 更多>