激光测距VL53L0X查询方式 源代码 已测试

在正点原子的例程上修改的,正点原子的例程使用了LCD,按键,AT24C02等,拿到手后不能直接使用,我把不必要的都删除掉,只用最小系统板就可以打印出距离。程序已经测试过,我用的STM32F103VET6的芯片。
io占用如下
PA2:SDA
PA3:SCL
PA5:XSHUT
PA9:TXD1
PA10:RXD1

PA8:LED指示灯,这个可以不用接

如果需要调整IO引脚,   

在 "vl53l0x_i2c.h"和"vl53l0x_i2c.c"中修改SCL/SDA,

在 "vl53l0x.h"和"vl53l0x.c"中修改XSHUT。

源代码下载:https://download.csdn.net/download/loop222/10489957

通过修改程序也可以不使用XSHUT引脚。

*************************************************************************************************************

这个源代码问的人挺多的,下载需要积分比较多,那个不是我设置的是系统自动分配的。

我把源代码放到网盘了,大家可自由下载:

链接:https://pan.baidu.com/s/1Pdt-hkIKG8GOj2K3tYrOYQ (已作废20200905,请看下面最新链接)
提取码:znrc

请叫我雷锋!

**********************************20200905更新****************************************************

有人说下载的文件不能使用,所以我重新编辑了下,顺便更换为STM32F103C8T6的最小系统板,

中断方式和查询方式,统一IO口,都可以使用。

LED指示灯:PA3

SDA:PA6

SCL:PA7

GPIO:PA5,GPIO是中断输入引脚,查询方式可以不用。

Xshut:不用

链接: https://pan.baidu.com/s/1CsD56x11mOstW9ZE6pQDWA 提取码: bsfk

vl53l0x 的默认模式每秒大概可以测距20次,高速模式每秒50次,频率越高精度越低,有最大10mm的误差。

相比查询方式中断方式占用CPU资源少,很适合单芯片多任务的场景,中断触发后读下距离,其它时间干点别的事。
程序修改说明
一、修改IIC接口引脚
    1、vl53l0x_i2c.c文件中的 void VL53L0X_i2c_init(void),配置SCL和SDA引脚
    2、vl53l0x_i2c.h文件中的“IO方向设置”

二、修改中断引脚(查询方式不用修改)
    1、修改vl53l0x_it.c文件中的 static void exti_init(void),配置GPIO引脚和中断
    2、修改中断入口函数,保证与上面配置一致

三、修改LED指示灯引脚
    1、在main.c文件中修改LED引脚配置和引脚反转定义
四、选择对应的单片机型号并修改启动文件,以及下载程序配置等等

 

 

 

Guess you like

Origin blog.csdn.net/loop222/article/details/80757157