-
大小: 84KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-06-02
- 语言: 其他
- 标签: STMvl53l0x 激光 测距
资源简介
一些说明:
1、从官方程序修改得到,在stm32105vc上测试ok,具体源码可从st官网获得。
2、采用i2c方式,pin配置文件在vl53l0x\platform\inc\stm32_i2c.h中配置。

代码片段和文件信息
#include “stm32f10x.h“
#include “stdio.h“
#include “math.h“
#include “stdlib.h“
#include “string.h“
#include “vl53l0x_api.h“
#include “vl53l0x_platform.h“
#include “vl53l0x_i2c_platform.h“
VL53L0X_Error vl53l0x_init(void);
VL53L0X_Dev_t vl53l0x_dev;
VL53L0X_DeviceInfo_t vl53l0x_dev_info;
VL53L0X_RangingMeasurementData_t vl53l0x_data;
VL53L0X_Error vl53l0x_status;
/***************************************************************************************/
void print_pal_error(VL53L0X_Error Status)
{
char buf[VL53L0X_MAX_STRING_LENGTH];
VL53L0X_GetPalErrorString(Status buf);
printf(“API Status: %i : %s\n“ Status buf);
}
void print_range_status(VL53L0X_RangingMeasurementData_t* pdata)
{
char buf[VL53L0X_MAX_STRING_LENGTH];
uint8_t RangeStatus;
// New Range Status: data is valid when pdata->RangeStatus = 0
RangeStatus = pdata->RangeStatus;
VL53L0X_GetRangeStatusString(RangeStatus buf);
printf(“Range Status: %i : %s\n“ RangeStatus buf);
}
VL53L0X_Error vl53l0x_start_single_test(VL53L0X_Dev_t *pdev \
VL53L0X_RangingMeasurementData_t *pdata)
{
VL53L0X_Error status = VL53L0X_ERROR_NONE;
if(vl53l0x_status != VL53L0X_ERROR_NONE)
return vl53l0x_status;
status = VL53L0X_PerformSingleRangingMeasurement(pdev pdata);
if(status != VL53L0X_ERROR_NONE){
printf(“error:Call of VL53L0X_PerformSingleRangingMeasurement\n“);
return status;
}
print_range_status(pdata);
printf(“Measured distance: %i\n\n“ pdata->RangeMilliMeter);
return status;
}
VL53L0X_Error vl53l0x_measure_init(VL53L0X_Dev_t *pMyDevice)
{
VL53L0X_Error Status = VL53L0X_ERROR_NONE;
//FixPoint1616_t LimitCheckCurrent;
uint32_t refSpadCount;
uint8_t isApertureSpads;
uint8_t VhvSettings;
uint8_t PhaseCal;
// Device Initialization
Status = VL53L0X_StaticInit(pMyDevice);
if(Status != VL53L0X_ERROR_NONE){
printf (“Call of VL53L0X_StaticInit\n“);
print_pal_error(Status);
return Status;
}
// Device Initialization
Status = VL53L0X_PerformRefCalibration(pMyDevice &VhvSettings &PhaseCal);
if(Status != VL53L0X_ERROR_NONE){
printf (“Call of VL53L0X_PerformRefCalibration\n“);
print_pal_error(Status);
return Status;
}
// needed if a coverglass is used and no calibration has been performed
Status = VL53L0X_PerformRefSpadManagement(pMyDevice&refSpadCount &isApertureSpads);
if(Status != VL53L0X_ERROR_NONE){
printf (“Call of VL53L0X_PerformRefSpadManagement\n“);
printf (“refSpadCount = %d isApertureSpads = %d\n“ refSpadCount isApertureSpads);
print_pal_error(Status);
return Status;
}
// no need to do this when we use VL53L0X_PerformSingleRangingMeasurement
Status = VL53L0X_SetDeviceMode(pMyDevice VL53L0X_DEVICEMODE_SINGLE_R
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7058 2016-10-06 19:43 vl53l0程序\main.c
文件 291 2016-10-06 19:49 vl53l0程序\Readme.txt
文件 76611 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_api.h
文件 3492 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_api_calibration.h
文件 4408 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_api_core.h
文件 2033 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_api_ranging.h
文件 12851 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_api_strings.h
文件 23522 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_def.h
文件 11240 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_device.h
文件 4869 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_interrupt_threshold_settings.h
文件 3714 2016-06-10 12:08 vl53l0程序\vl53l0x\core\inc\vl53l0x_tuning.h
文件 82841 2016-10-06 17:51 vl53l0程序\vl53l0x\core\src\vl53l0x_api.c
文件 36880 2016-10-05 18:01 vl53l0程序\vl53l0x\core\src\vl53l0x_api_calibration.c
文件 65869 2016-10-05 18:02 vl53l0程序\vl53l0x\core\src\vl53l0x_api_core.c
文件 2192 2016-10-05 18:02 vl53l0程序\vl53l0x\core\src\vl53l0x_api_ranging.c
文件 13905 2016-10-05 18:02 vl53l0程序\vl53l0x\core\src\vl53l0x_api_strings.c
文件 1036 2016-10-06 14:10 vl53l0程序\vl53l0x\platform\inc\stm32_i2c.h
文件 9441 2016-10-05 19:32 vl53l0程序\vl53l0x\platform\inc\vl53l0x_i2c_platform.h
文件 8732 2016-06-10 12:08 vl53l0程序\vl53l0x\platform\inc\vl53l0x_platform.h
文件 4217 2016-10-06 12:44 vl53l0程序\vl53l0x\platform\inc\vl53l0x_platform_log.h
文件 4371 2016-10-05 16:27 vl53l0程序\vl53l0x\platform\inc\vl53l0x_types.h
文件 4643 2016-10-06 14:09 vl53l0程序\vl53l0x\platform\src\stm32_i2c.c
文件 9444 2016-10-05 17:37 vl53l0程序\vl53l0x\platform\src\vl53l0x_i2c.c
文件 8985 2016-06-10 12:08 vl53l0程序\vl53l0x\platform\src\vl53l0x_platform.c
文件 2889 2016-10-04 13:08 vl53l0程序\vl53l0x\platform\src\vl53l0x_platform_log.c
目录 0 2016-10-26 21:12 vl53l0程序\vl53l0x\core\inc
目录 0 2016-10-26 21:12 vl53l0程序\vl53l0x\core\src
目录 0 2016-10-26 21:12 vl53l0程序\vl53l0x\platform\inc
目录 0 2016-10-26 21:12 vl53l0程序\vl53l0x\platform\src
目录 0 2016-10-26 21:12 vl53l0程序\vl53l0x\core
............此处省略6个文件信息
- 上一篇:基于LMS的自适应滤波工具箱
- 下一篇:无线AdHoc模式、虚拟Wifi组网配置实验
相关资源
- 激光位移传感器的特点及应用解析
- 非晶基材表面激光立体成形Zr55Cu30Al
- 脉冲频率对脉冲激光重熔Zr55Cu30Al10N
- 在LHC和激光束实验中将轴突状粒子的
- 通过使用激光对撞机的四波混频搜索
- VL53L0X激光测距传感器资料
- 佳能canon lbp3000激光打印机驱动 for w
- epson 2020黑白激光打印机驱动 win7/win
- 惠普hp LaserJet Enterprise P3015dn黑白激光
- 惠普5100激光打印机驱动 支持win7
- 惠普HP6L激光打印机驱动程序 官方版
- 惠普HP LaserJet P1505黑白激光打印机驱动
- 惠普hp laserjet 1
- 论变形监测技术的现状与发展趋势
- 用于工作面液压支架对齐的激光对位
- 激光熔覆技术在液压支架立柱再制造
- Nb4Si含量对激光熔覆Ti-Fe合金涂层组织
- 基于STM32的激光甲烷断电仪的研发
- 用两个摄像头实现,双目标定,双目
- 中易激光排版雕刻系统V7.0
- opencv视觉测距
- 大气激光传输
- 基于51单片机的超声波测距技术实现含
- 激光机原理以及应用简介.doc
- 论文研究 - 基于22936、23010和23048 cm较
- 基于激光传感器技术的胶带纵向撕裂
- 基于线激光的胶带纵向撕裂检测装置
- 新型带式输送机纵向撕裂保护装置设
- 基于三维激光雷达的自动驾驶车辆高
- 半导体激光管驱动电源设计与实现
评论
共有 条评论