-
大小: 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組網配置實驗
評論
共有 條評論