45 lines
931 B
C++
45 lines
931 B
C++
/*
|
|
* VL53L0X 激光测距 demo — 持续读取距离并打印
|
|
*/
|
|
#include <iostream>
|
|
#include <csignal>
|
|
#include <thread>
|
|
#include <atomic>
|
|
#include "vl53l0x.h"
|
|
|
|
std::atomic<bool> running(true);
|
|
|
|
void onSignal(int)
|
|
{
|
|
running = false;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
std::signal(SIGINT, onSignal);
|
|
|
|
VL53L0X tof;
|
|
if (!tof.init())
|
|
{
|
|
std::cerr << "VL53L0X 初始化失败" << std::endl;
|
|
return 1;
|
|
}
|
|
|
|
VL53L0X_RangingMeasurementData_t data;
|
|
while (running)
|
|
{
|
|
if (tof.readRange(data))
|
|
{
|
|
std::cout << "dist=" << data.RangeMilliMeter << "mm"
|
|
<< " status=" << (int)data.RangeStatus
|
|
<< " signal=" << data.SignalRateRtnMegaCps
|
|
<< std::endl;
|
|
}
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
}
|
|
|
|
tof.stop();
|
|
std::cout << "VL53L0X demo exit" << std::endl;
|
|
return 0;
|
|
}
|