用stm32实现的vl53l0x测距模块,直接读取的寄存器值,然后简单滤波,为啥测距的数值会突然卡住,数字显示就是20或者是8190之类的数。。。
http://www.eeworld.com.cn/tags/VL53L0X
现在也在调这个模块,很不习惯那个API,就要实现一个简单的测距功能就行,可是按照你说的@iasoyi
读0x14+10(0x1e)和0x14+11(0x1f),得到的数据很奇怪啊,而且会卡在这里没法进行其他操作了
能详细说说吗
因该是这个东西,
主体的循环网上可以查到基本是这样,之间可以加用串口显示出来。你说的走不通看一下是IIC传输是否通畅(IIC的读,单字节的读操作后一定要是主机向从机发送拉低数据信号来表示信号接受完了,我之前是这里错了就没走通),或者串口波特率对上没。主要是IIC的传输要走通!
有可能是卡在发送启动指令等待从机响应那块了。我用400K的速率的时候就每次都会卡在那。、
我测了下获取数据需要56ms,我想问有人知道怎么配高速模式和远距离模式
现在ST的缺货涨价,可以试一下国产VI5300,完美兼容替换XL53L0X、XL53L1X、VL53L3X系列,需要可百度,VL53L0X兼容
用国产的吧 国产VI5300完全替代兼容他 百度VL53L0兼容
20mm是最小距离,你IIC读取的0x14+10(高位)和0x14+11(低位)的值,高位左移8位加低位看上去好像是实测距离值。我记录了很多数据,差不多这个值减去20就和实际值相等。这个东西两次获取的到的值(数据信号波形)间隔33ms,默认模式,我不知道怎么使用长距离模式,快速模式等。。可能自动的吧。所以在这个模式下,光的发射返回能实测的距离是20mm到1.2m。20mm下读不到,远了的话光也就接收不到了,就没数据