VL6810X驱动 距离和光线传感器 stm32 HAL库

  • 代码
  • 库文件和官方文档
  • 注意事项
    • 1、
    • 2、
    • 3、

这是一款ST出品的传感器,感觉用的人不多 网上没什么驱动代码,所以自己根据st的官方资料写了一个,我这个读取数据的方式是轮询模式,官方还有一个读取数据的模式,效率更高,我懒得改,没需求。在下面的百度云链接中有官方资料,不过是全英文的,中文的目前没有,多花时间看吧。
以前从来不写博客,因为懒,这几天突然有感悟,啥就不说了,以后每完成一个有意义的东西都会更新分享。这次我看文档+写代码搞了一天,如果对你有帮助就评论一句“谢谢”!!


pAlsData.errorStatus :0 lux:7(光)
pRangeData.errorStatus :0 range_mm:13(距离)

注意这款传感器的量程是0-20mm

代码

对应库文件在下面 自行下载

#include"vl6810x_api.h"
#include"vl6810x.h"
int main(void)
{VL6180X_Init();while(1){VL6180x_RangeData_t pRangeData;;VL6180x_AlsData_t pAlsData;VL6180x_AlsPollMeasurement(theVL6180xDev, &pAlsData);if(pAlsData.errorStatus == 0){printf("pAlsData.errorStatus :%d   lux:%d \r\n", pAlsData.errorStatus , pAlsData.lux);}else{VL6180x_RangeStartSingleShot(theVL6180xDev);              printf("errorStatus :%d  \r\n", pAlsData.errorStatus );}pRangeData.range_mm = 0;VL6180x_RangePollMeasurement( theVL6180xDev, &pRangeData);    if(pRangeData.errorStatus == 0){printf("pRangeData.errorStatus  :%d   range_mm:%d   signalRate_mcps:%d  DMax:%d  \r\n              refConvTime:%d   rtnRate:%d\r\n", pRangeData.errorStatus , pRangeData.range_mm, pRangeData.signalRate_mcps, pRangeData.DMax, pRangeData.refConvTime ,pRangeData.rtnRate);}else{printf("pRangeData.errorStatus  :%d   range_mm:%d   signalRate_mcps:%d  DMax:%d  \r\n refConvTime:%d   rtnRate:%d\r\n", pRangeData.errorStatus , pRangeData.range_mm, pRangeData.signalRate_mcps, pRangeData.DMax, pRangeData.refConvTime ,pRangeData.rtnRate);}}
}

库文件和官方文档

链接:https://pan.baidu.com/s/10HRSvubXGTzCbmDib3t6Lg
提取码:21gk
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V3的分享

注意事项

如果大家想移植官方历程 需要注意以下几个方面

1、

int VL6180x_RangeGetMeasurement(VL6180xDev_t dev, VL6180x_RangeData_t *pRangeData)
{int status;uint16_t RawRate;uint8_t RawStatus;LOG_FUNCTION_START("");
//需要屏蔽  不屏蔽 读出来的距离一直是ff  不会产生错误码 这个应该跟传感器里面的缓存数据区有关,因为这款传感器能够临时储存数据 应该就像fifo一样 我没深究,因为用不着
//  status = _CachedRegs_Fetch(dev);
//  if (status) {//      VL6180x_ErrLog("Cache register read fail");
//      goto error;
//  }status = VL6180x_RangeGetResult(dev, &pRangeData->range_mm);

2、


这款传感器的滤波问题,我在调试的时候,一直返回错误码16,后来一查,就是因为开了这个功能,所以我初始化这款传感器时关闭了它,就解决了问题,我不知道为什么会返回错误码16 ,有可能是因为我对着电脑屏幕测距离的原因吧!

3、

最后就是轮询获取数据时里面有个延时函数DISP_ExecLoopBody(),可能是怕我们循环读取数据的频率太高吧! 自行替换延时函数,防止读取速度过快!

VL6810X驱动 距离和光线传感器 stm32 HAL库相关推荐

  1. 【春节歌曲回味 | STM32小音乐盒 】PWM+定时器驱动无源蜂鸣器(STM32 HAL库)

    l  STM32通过PWM与定时器方式控制无源蜂鸣器鸣响 l  STM32小音乐盒,歌曲进度条图形显示与百分比显示,歌曲切换 l  编程使用STM32 HAL库 l  IIC OLED界面编程,动画实 ...

  2. STM32 HAL库PID控制电机 第二章 TB6612FNG芯片驱动GB37-520电机

    STM32 HAL库PID控制电机 第二章 TB6612FNG芯片驱动GB37-520电机(HAL库) 1 电路图 2 TB6612简介 TB6612是双驱动,可同时驱动两个电机 STBY:接单片机的 ...

  3. STM32 HAL库 驱动 MT6701 磁编码器

    写在前面: MT6701 是 MagnTek 推出的新一代基于差分霍尔感应原理的磁性角度编码器芯片.值得一提的是 MT6701不仅提供 0~360° 的角度信号,而且还提供了一个"按压&qu ...

  4. 基于STM32 HAL库的遥控小车

    目录 前言 一.材料清单 二.系统概述 三.硬件设计 1.HC-SR04超声波模块 2.HC-05/06蓝牙模块 3.L298n电机驱动模块 四.代码 1.引脚设置 2.遥控部分 3.超声波报警部分 ...

  5. stm32+HAL库制作转速仪

    stm32+HAL库制作转速仪 前言 电机在运行过程中,需要实时检测其转速的稳定性,有效反映电机的运行情况. 本文介绍了基于stm32的转速仪的设计,可以用光电门传感器和红外对管传感器测量,可以设置选 ...

  6. 温湿度传感器驱动SHT85 单片机STM32 HAL库

    功能介绍:读取传感器SHT85数据,转换成温度.湿度 .饱和水蒸气含量. 注意事项: SDA脚设置为开漏输出,外部上拉电阻10k.或者设置成推挽,软件切换SDA输入输出. 调试时可适当加长延时时间. ...

  7. STM32 HAL库学习笔记1-HAL库简介

    STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...

  8. STM32 HAL库详解

    STM32 HAL库整体总结 STM32 之二 HAL库详解 及 手动移植 本篇博客是对以上参考资源的一个二次总结与整理. 1. HAL库文件结构 对于开发人员而言,首先要清楚 HAL 库的文件结构. ...

  9. stm32 HAL库分析之CAN

    stm32 HAL库分析之CAN 阻塞发送 HAL_StatusTypeDef HAL_CAN_Transmit(CAN_HandleTypeDef* hcan, uint32_t Timeout) ...

最新文章

  1. 个人微信公众号已开通,欢迎各位小伙伴关注
  2. 12.04 scrum report
  3. 如果知道一个控件类型的对话框句柄是编辑框控件
  4. alibaba Fastjson的JOSN解析库 -
  5. 上传失败 已保存至草稿_学霸的草稿纸火了,卷面整洁,网友调侃:作业都比不上这草稿本...
  6. (王道408考研数据结构)第二章线性表-第三节1:单链表的定义及其操作(插入和删除,建立之尾插和头插)
  7. 【转】科普贴:BIOS和UEFI的启动项
  8. python 根据答案 自动答题器_python根据题库答案自动答题
  9. c语言学习笔记(浙大翁恺mooc)
  10. 如何注册属于自己的微信订阅号(公众号)
  11. Golang使用mgo.v2包操作MongoDB的基础示例
  12. 轨道运营管理专业自荐书_城市轨道交通运营管理专业职业规划(1)
  13. 用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)...
  14. 怎么在Ubuntu手机上发送短信及拨打电话
  15. numpy的文件存储.npy .npz 文件详解
  16. docker run --privileged参数(容器权限全开,不利于宿主机安全,宿主机容易重启)(与/usr/sbin/init共用)
  17. SAP 获取本机信息(IP及电脑名称)
  18. 如何自定义sonar插件并学会使用
  19. 录音艺术与计算机音乐文化,云南艺术学院文华学院
  20. NimBuzz 拨打免费电话

热门文章

  1. Linux系统下GiB和GB的换算详细解析
  2. 世界上最高的山峰的排名
  3. 显卡html5性能测试工具,电脑显卡性能测试软件
  4. 大逃杀最多100人服务器,绝地求生大逃杀服务器怎么回事 玩家太多服务器承受不了...
  5. Mysql高级——索引篇
  6. Mifare plus卡调试总结
  7. SuperRecovery超级硬盘数据恢复软件
  8. mysql IP address 'xxx' could not be resolved
  9. SAP MDG和SAP MDM的区别
  10. mongodb和mysql中自动增长id_如何在java中维护MongoDB的_id字段的自动增长