欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > bmp390l传感器的IIC命令通信(学习汇总)

bmp390l传感器的IIC命令通信(学习汇总)

2025/6/4 14:32:25 来源:https://blog.csdn.net/m0_59708799/article/details/144662461  浏览:    关键词:bmp390l传感器的IIC命令通信(学习汇总)

参考链接:

BMP390高精度压力传感器数据读取与处理(基于STM32)-CSDN博客    

https://blog.csdn.net/qq_43862401/article/details/106502397

 利用usb转iic模块测试bmp390l传感器采集当前环境的温度和气压数据,下图中reserved表示保留位,不允许写入数据,此时可以默认为0.

结合以下代码可知,iic通信过程中各自寄存器对应的命令:

u8 BMP390_Init(void)
{u8 BMP390_ID;BMP390_Write_Byte(CMD_Addr,0xB6);//RESETdelay_ms(100);BMP390_ID = BMP390_Read_Byte(CHIP_ID_Addr);//Read the CHIP_ID-0x60BMP390_Write_Byte(PWR_CTRL_Addr,0x33);//Set Working mode and state of sensorBMP390_Write_Byte(IF_CONF_Addr,0x00);//Serial interface settingsBMP390_Write_Byte(INT_CTRL_Addr,0x02);//Set interrupt configBMP390_Write_Byte(OSR_Addr,0x15);//Set the PM-RATE and PM-PRC,Set the TMPI-RATE and TMP-PRCBMP390_Write_Byte(ODR_Addr,0x04);//Set the configuration of the output data rates by means of setting the subdivision/subsampling.BMP390_Write_Byte(CONFIG_Addr,0x00);//IIR filter coeffcientsreturn BMP390_ID;
}

至于传感器本身的地址,可以接好线后输入数据手册对应的chip_id传感器测试下是否为手册中对应的默认数据位,如下,0x76_0x00和0x770x_00分别尝试,返回0x60的就是对应IIC的通信地址

    我的传感器地址为0xEC,也就是0x76左移一位。对比上述程序,可以得到对应的iic寄存器通信的命令如下:

读:EC7EB6(reset)→EC1A00→EC1902→EC1C15→EC1D04→EC1F00→EC1B33                  (0x33→00110011)

但需要注意,EC1B33设置传感器读取模式需要放在最后,否则可能会无法正常设置传感器数据读取模式。

写:EC04(temp&pree)或者输入EC07(temp)

另附上传感器的数据位和对应的作用(数据手册内容)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词