首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

BME280组合式温湿度气压传感器(数据手册、使用、原理图)

物联网 17.95KB 27 需要积分: 1
立即下载

资源介绍:

BME280是一款成熟的数字湿度、压力和温度传感器。该传感器有一个非常紧凑的金属盖LGA封装,所需面积仅为2.5x2.5mm²,高度为0.93mm。它体积小,功耗低,适合在手机、GPS手持机或手表等电池驱动设备中应用。BME280与Bosch SensortecBMP280数字压力传感器寄存器和特性相兼容。BME280可为所有需要湿度和压力测量的应用场景下提供高性能输出。这些新兴的家庭自动化控制、室内导航、健身以及高精度GPS等场景要求传感器同时具有较高的精度和较低的持有成本(TCO)。
/**\mainpage * Copyright (C) 2016 - 2017 Bosch Sensortec GmbH * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the copyright holder nor the names of the * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER * OR CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE * * The information provided is believed to be accurate and reliable. * The copyright holder assumes no responsibility * for the consequences of use * of such information nor for any infringement of patents or * other rights of third parties which may result from its use. * No license is granted by implication or otherwise under any patent or * patent rights of the copyright holder. * * File bme280.c * Date 14 Feb 2018 * Version 3.3.4 * */ /*! @file bme280.c @brief Sensor driver for BME280 sensor */ #include "bme280.h" /**\name Internal macros */ /* To identify osr settings selected by user */ #define OVERSAMPLING_SETTINGS UINT8_C(0x07) /* To identify filter and standby settings selected by user */ #define FILTER_STANDBY_SETTINGS UINT8_C(0x18) /*! * @brief This internal API puts the device to sleep mode. * * @param[in] dev : Structure instance of bme280_dev. * * @return Result of API execution status. * @retval zero -> Success / +ve value -> Warning / -ve value -> Error */ static int8_t put_device_to_sleep(const struct bme280_dev *dev); /*! * @brief This internal API writes the power mode in the sensor. * * @param[in] dev : Structure instance of bme280_dev. * @param[in] sensor_mode : Variable which contains the power mode to be set. * * @return Result of API execution status. * @retval zero -> Success / +ve value -> Warning / -ve value -> Error */ static int8_t write_power_mode(uint8_t sensor_mode, const struct bme280_dev *dev); /*! * @brief This internal API is used to validate the device pointer for * null conditions. * * @param[in] dev : Structure instance of bme280_dev. * * @return Result of API execution status * @retval zero -> Success / +ve value -> Warning / -ve value -> Error */ static int8_t null_ptr_check(const struct bme280_dev *dev); /*! * @brief This internal API interleaves the register address between the * register data buffer for burst write operation. * * @param[in] reg_addr : Contains the register address array. * @param[out] temp_buff : Contains the temporary buffer to store the * register data and register address. * @param[in] reg_data : Contains the register data to be written in the * temporary buffer. * @param[in] len : No of bytes of data to be written for burst write. */ static void interleave_reg_addr(const uint8_t *reg_addr, uint8_t *temp_buff, const uint8_t *reg_data, uint8_t len); /*! * @brief This internal API reads the calibration data from the sensor, parse * it and store in the device structure. * * @param[in] dev : Structure instance of bme280_dev. * * @return Result of API execution status * @retval zero -> Success / +ve value -> Warning / -ve value -> Error */ static int8_t get_calib_data(struct bme280_dev *dev); /*! * @brief This internal API is used to parse the temperature and * pressure calibration data and store it in the device structure. * * @param[out] dev : Structure instance of bme280_dev to store the calib data. * @param[in] reg_data : Contains the calibration data to be parsed. */ static void parse_temp_press_calib_data(const uint8_t *reg_data, struct bme280_dev *dev); /*! * @brief This internal API is used to parse the humidity calibration data * and store it in device structure. * * @param[out] dev : Structure instance of bme280_dev to store the calib data. * @param[in] reg_data : Contains calibration data to be parsed. */ static void parse_humidity_calib_data(const uint8_t *reg_data, struct bme280_dev *dev); #ifdef BME280_FLOAT_ENABLE /*! * @brief This internal API is used to compensate the raw pressure data and * return the compensated pressure data in double data type. * * @param[in] uncomp_data : Contains the uncompensated pressure data. * @param[in] calib_data : Pointer to the calibration data structure. * * @return Compensated pressure data. * @retval Compensated pressure data in double. */ static double compensate_pressure(const struct bme280_uncomp_data *uncomp_data, const struct bme280_calib_data *calib_data); /*! * @brief This internal API is used to compensate the raw humidity data and * return the compensated humidity data in double data type. * * @param[in] uncomp_data : Contains the uncompensated humidity data. * @param[in] calib_data : Pointer to the calibration data structure. * * @return Compensated humidity data. * @retval Compensated humidity data in double. */ static double compensate_humidity(const struct bme280_uncomp_data *uncomp_data, const struct bme280_calib_data *calib_data); /*! * @brief This internal API is used to compensate the raw temperature data and * return the compensated temperature data in double data type. * * @param[in] uncomp_data : Contains the uncompensated temperature data. * @param[in] calib_data : Pointer to calibration data structure. * * @return Compensated temperature data. * @retval Compensated temperature data in double. */ static double compensate_temperature(const struct bme280_uncomp_data *uncomp_data, struct bme280_calib_data *calib_data); #else /*! * @brief This internal API is used to compensate the raw temperature data and * return the compensated temperature data in integer data type. * * @param[in] uncomp_data : Contains the uncompensated temperature data. * @param[in] calib_data : Pointer to calibration data structure. * * @return Compensated temperature data. * @retval Compensated temperature data in integer. */ static int32_t compensate_temperature(const struct bme280_uncomp_data *uncomp_data, struct bme280_calib_data *calib_data); /*! * @brief This internal API is used to compensate the raw pressure data and * return the compensated pressure data in integer data type. * * @param[in] uncomp_data : Contains the uncompensated pressure data. * @param[in] calib_data : Pointer to the calibration data structure. * * @return Compensated pressure data. * @retval Compensated pressure data in integer. */ static uint32_t compensate_pressure(const struct bme280_uncomp_data *uncomp_data, const struct bme280_ca

资源文件列表:

280.zip 大约有7个文件
  1. 280/bme280.c 44.74KB
  2. 280/bme280.h 8.88KB
  3. 280/bme280_application.c 7.38KB
  4. 280/bme280_application.h 958B
  5. 280/bme280_defs.h 10.28KB
  6. 280/main.c 5.83KB
  7. 280/
0评论
提交 加载更多评论
其他资源 java、web,用于java开发网页,tomcat
包中是java开发网页常用的服务器(解压之后你的电脑就相当于一个服务器),关注我,后续更新使用方法
MyTheme_v1.zip
MyTheme_v1.zip
脉振高频正弦波注入法simulink模型
基于随机相位高频方波电压注入法的电机无传感器控制(二)
MFC下-Sin函数绘制
单文档MFC下_Sin函数绘制
JavaFX《中国象棋小游戏》期末大作业源码
【内容概要】本资料是Java软件开发基础的期末大作业。适用于以JavaFX为主体的小游戏开发程序练习。开发过程使用IDEA。 【详细内容】本项目设计了多个页面,实现了 a)登录游戏 b)界面友好,需包括操作规则提示,当前得分,最高分等基本信息 c)当用户操作违反规则时应给用户发出消息提示 d)能够实现简单的双人对战,不要求实现人机对战 e)使用reset操作重新开始一轮游戏 f)使用鼠标操作游戏界面 g)将所有玩过本游戏的用户的信息保存在文件中,能够使用排行榜功能显示用户排名及分数 h)记录当前棋局棋谱 等功能。 【使用说明】由于文件中使用了绝对路径,建议将项目放置于E盘的Java文件夹中再运行程序。由于开发者时间问题,这方面并没有进行修改,请使用者注意该情况!!!在项目中,使用本地文件保存用户数据,因此在运行时请保证两个用来存储用户信息的文本文件:UserInformation.txt、rankList.txt中不存在额外的空行,即鼠标停留在最后一行末尾处,否则程序运行有误。 【附】由于这是开发者学习完成的项目,如有问题,请及时与开发者联系。同时也希望同学们不要直接套用程序。
手写数学符号数据集(包含24种元素)
做课设的时候整理的,包含0-9、+-*/、xyz等在内的24种数学元素,一共有13000左右张图片,已按训练集和测试集划分好,需要的可自取~
1004551543418023建模代码.zip
1004551543418023建模代码.zip
1004551543418023建模代码.zip
基于大数据技术之电视收视率企业项目实战
这是一次从零开始,直至成为大数据领域大神的旅程。本课程共65章,合计856课时,覆盖了从Java基础语法到大数据技术栈的全方位知识,包括代码、课件、软件和资料,确保学员能够全面而深入地掌握大数据技术。 课程特色 零基础入门:无论您的起点如何,我们都将带您逐步走进大数据的世界。 实战项目驱动:通过实际项目案例,使理论知识与实践相结合,提升解决实际问题的能力。 专家授课:由经验丰富的大数据专家授课,分享行业洞见和职业经验。 资料丰富:提供完整的学习资料,包括软件、工具和项目源码,方便学员学习和实践。 就业指导:课程结束时,提供专业的就业指导和资源,帮助学员顺利步入职场。 课程目录概览 Java基础与进阶 Java基础语法 选择结构与循环结构 数组、类、对象和方法 项目实战:人机猜拳和DVD管理系统 面向对象编程 继承、封装和多态 抽象类与接口 项目实战:劲舞团 Java高级特性 异常处理、日期类、集合框架 Java IO流技术与XML操作 MySQL数据库基础与进阶 Java Web基础 JDBC数据库操作 多线程编程基础与高级特性 网络编程与反射、序列化 大数据技术栈 Hadoop生态