串口打印出来的信息:
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();这个函数,就没报错。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
i2c或者xsh的引脚没有接对,建议看下程序的引脚定义。
一周热门 更多>