BMP388温度压力传感器开发思路

参数需求:

通讯模式:I2C

精度等级:最高

需求参数:温度,大气压

滤波系数:可调

注意:调试前确定硬件电路的可靠性

1.供电电源的纹波特性需要满足,会影响AD的采样

2,通讯设置正常

一:完成通用I2C的基础配置,确保整个通讯流程没有错误

二:配置BMP388各个寄存器。

2.1:读取BMP388初始ID,确定通讯正常  正常情况下ID为0X50

注意:精度选择最高,压力32位过采样,压力2倍过采样,设置相应的滤波系数,根据数据表计算

下列为常用的配置寄存器2.2地址分析:

 

 

0x0E,0x0F:不是特殊需求可以不设置

0x10:需要可以设置,不必须

0x11:状态位,温度压力等数据状态,在自检函数中需求

0x14:FIFO数据读取寄存区

 

 BMP388数据输出读取可选择FIFO模式和直接寄存器读取

FIFO模式可以存储最大512K的数据,计算机再定时器中断读取数据,这样为计算机节省数据处理的时间和空间。

直接寄存器读取和FIFO读取模式需要在0x17地址中进行配置。当选取FIFO数据读取时候,可以根据使能的温度压力测量需求,每次从FIFO中读取原始AD码,参与每个388内部补偿参数的换算,每次读取7个字节数,1个字节的数据校验,3个温度原始值,3个字节压力原始值,参与补偿运算就可以得到测量的温度和压力值。

 

注意:I2C数据读取的方向,输出的先是高位,再是低位(BMP280相反)

补偿参数的换算公式,和原始代码可参考官方在github上托管的代码,但是代码的应用系统不同,需要使用者自行提炼

 

0x15,0x16是FIFO数据长度的存储区,可以判断FIFO的填充状态(512byte大小)

0x17:温度,压力等使能寄存器(必须,初始化设置值)

0x1A:SPI,I2C通讯模式设置,具体参考需求

0X1B:需要设置压力温度使能模式

0x1C:设置过采样倍数

0x1D:设置输出速率(必须)

0x1F:设置AD输出滤波参数,根据产品需求进行设置

 

注意:温度设置过高的采样速度并对实际数据没有多大的影响,温度的变化是一个较为缓慢的过程

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值