-
大小: 84KB文件类型: .rar金币: 1下载: 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组网配置实验
相关资源
- Complex-YOLO
- 基于89C52的激光琴
- SICK—LMS400激光传感器测距程序
- 单片机激光相位测距仪原理图
- 超声波测距资料 超声波测距资料
- 超声波 测距 模块 原理图 PCB
- 51单片机多个超声波测距
- 基于HC-SR04超声波测距LCD12864显示源码
- 固态&机械激光雷达介绍
- 基于DSP的振镜扫描式激光标记控制系
- 激光打标机激光设备应用行业.doc
- 脉冲光纤激光器技术特点.doc
- 基于DSP芯片TMS320F2812的振镜式激光打标
- 高功率光纤激光器发展概况.pdf
- 手机制造行业中的激光打标技术.doc
- 激光打标机振镜驱动电路
- 激光加工系统扫描振镜畸变校正算法
- 激光SLAM经典论文翻译 完善版
- 思岚激光雷达小车程序stm32程序
- MSP430G2*单片机利用HC-SR04测距
- 超声波测距的电路设计与单片机编程
- 有关各个模型激光器的代码
- CHT8024-2011机载激光雷达数据获取技术
- 51单片机超声测距汇编
- 超声波测距模块代码及上位机调试软
- 倒车雷达超声波测距系统
- 基于小波变换的行波测距式距离保护
- 基于两块430单片机及nrf24l01无线数据传
- XY2-100协议说明
- AUTO_CAD.rar
评论
共有 条评论