常用芯片学习——BME280芯片

BME280 温湿度气压传感器

芯片介绍

BME280是基于成熟传感原理的组合数字湿度、压力和温度传感器。该传感器块采用极为紧凑的金属盖LGA封装,占地面积仅为2.5x2.5mm2,高度为0.93mm。该传感器提供I2C以及SPI接口。它的小尺寸和低功耗允许在电池驱动的设备,如手机,GPS模块或手表的实施。

芯片使用方法

湿度测量

可以启用或跳过湿度测量。启用时,将存在多个过采样选项。湿度测量由osrsh【2:0】设置控制。对于湿度测量,过采样可以降低噪声。湿度测量的分辨率固定在16位ADC输出。

气压测量

可以启用或跳过气压测量。启用时,将存在多个过采样选项。气压测量由osrsp【2:0】设置控制。对于压力测量,过采样可以降低噪声。压力数据的分辨率取决于IR滤波器和过采样设置:

芯片模式

BME280提供三种传感器模式:睡眠模式、强制模式和正常模式。这些可以使用模式【1:0】设置进行选择(参见第5.4.5章)。可用的模式有:

睡眠模式:无操作,可访问所有寄存器,最低功耗,启动后自动选择

强制模式:执行一次测量,存储结果并返回睡眠模式

正常模式:测量和非活动周期的永久循环。

芯片寄存器地址

芯片I2C读写方法

I2C起始终止信号时序图

在SCL高电平期间拉低SDA代表开始 【S】

在SCL高电平期间拉高SDA代表结束 【P】

I2C写数据

在发送起始信号后,发送从机数据地址,从机数据地址的最后以为由引脚SDO决定。然后等待应答信号,继续发送要操作的寄存器,等待应答信号,然后写入对应的数据,如果不想继续写数据了,需要发送一个停止信号。

I2C读数据

为了能够读取寄存器,首先寄存器地址必须以写模式发送(从地址111011X0)。然后必须产生停止或重复启动条件。在此之后,从设备在地址111011X1处以读模式(RW=1')寻址,此后从设备从自动递增的寄存器地址发送数据,直到出现NOACKM和停止条件。如图10所示,其中寄存器0xF6和0xF7被读取。

相关推荐
做科研的周师兄2 分钟前
【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点
人工智能·学习·算法·随机森林·机器学习·支持向量机·数据挖掘
QZ_orz_freedom16 分钟前
学习笔记--文件上传
java·笔记·学习
deng-c-f19 分钟前
Linux C/C++ 学习日记(24):UDP协议的介绍:广播、多播的实现
linux·网络·学习·udp
爱吃甜品的糯米团子42 分钟前
Linux 学习笔记之 VI 编辑器与文件查找技巧
linux·笔记·学习
im_AMBER1 小时前
数据结构 03 栈和队列
数据结构·学习·算法
我先去打把游戏先2 小时前
VSCode通过SSH连接到Ubuntu虚拟机失败“找不到ssh安装”问题解决
笔记·vscode·单片机·嵌入式硬件·学习·ubuntu·ssh
●VON2 小时前
重生之我在大学自学鸿蒙开发第五天-《实战篇》
学习·华为·云原生·harmonyos·鸿蒙
QiZhang | UESTC2 小时前
学习日记day
学习
2025年一定要上岸3 小时前
【日常学习】10-15 学习re
学习·算法·正则表达式
千码君20164 小时前
Go语言:记录一下Go语言系统学习的第一天
java·开发语言·学习·golang·gin·并发编程·编译语言