STM32通过I2C与BMP280通信

STM32通过I2C与BMP280通信,第1张

BMP280是博世最新推出的数字气压传感器,具有卓越的性能和低廉的价格,相对精度为±0.12 hPa(相当于±1米),传感器功耗仅有2.7μA。BMP280具有业界最小封装2.0 x 2.5 x 0.95 mm3,包括压力和温度测量功能。

该气压传感器支持SPI和IIC通信接口,相比上一代的BMP180,精度已有相当大的提升,非常适合应用于低成本的多旋翼飞行器飞行控制器上,价格仅有目前流行的MS5611的四分之一。

STM32通过I2C与BMP280通信

BMP280气压传感器(Digital Pressure sensor)

STM32通过I2C与BMP280通信,STM32通过I2C与BMP280通信,第2张

测试流程图:

STM32通过I2C与BMP280通信,STM32通过I2C与BMP280通信,第3张

项目中使用的是I2C通信,BMP280的作为slave的地址要确认好,它的地址根据硬件电路SDO接什么脚来决定:

1.BMP280的测试启动流程(注意它的datasheet中的status寄存器):

(1)读取BMP280的id,其值等于0x58。

(2)把补偿寄存器的值都读出来。

(3)对BMP280进行reset。

(4)对BMP280的数据采集精度,模式。。。等进行配置。

(5)给点延时,等待数据采集完毕放入寄存器中。

(6)读取寄存器中的采集数据。

注意:BMP280对温度和气压的测量是通过一堆补偿数据然后根据自己的算法算出来的,要注意这些数据是什么类型的,刚开始我就因为粗心没看清楚,算出来的数据总是不正确。

STM32通过I2C与BMP280通信,STM32通过I2C与BMP280通信,第4张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2718203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存