啦啦啦!出来浪了!无线充挖了坑没有填!开了个新坑!老板命令我搞一个这个模块(淘宝),然后价格要求便宜便宜的!!所以我大国产MCU上线,但是这个传感器没有寄存器的说明,只有ST出的一个官方的范例程序,里面有个库!!但是看到编译出来的大小,我的内心是拒绝的!!所以只能埋头啃源代码,找到我要弄的几种模式,然后进行代码的移植和使用。代码我后面打包。上传,这里就说一下寄存器。
功能说明:
- 中断模式测距
- 长距离,高速,高精度三个模式的切换
- 读取一些模块的版本信息
参考的是原子的模块的代码(拿人手短,帮忙做个宣传,不过原子的资料确实真的很棒)
首先就是模块的初始化,调用的是vl53l0x_init函数。程序流程如下
- IIC的初始化(初始化IO口这些工作属于MCU的硬件初始化和协议无关)
- 设置模块地址(设备原地址0x52,通过使能XS管脚和失能可以恢复初始化地址)
- 设置IIC标准模式:400KHZ。寄存器地址0x88,写入数据0x00
- 读取设备ID:0xEEAA,寄存器地址0xC0,读出数据0xEEAA
- 写入新地址
- 读取地址
未完待续!!!
|