TE压力传感器MS5837-02BA软件读取数据不准的问题分析

本文讨论了工程师在使用超小型高度计MS5837-02BA时遇到的数据溢出问题,重点在于IIC地址设置和计算过程中的溢出原因,提供了针对特定型号的校准和数据转换的解决方案,有助于缩短开发周期。
摘要由CSDN通过智能技术生成

压力传感器MS5837-02BA属于超小型的微型高度计,海平面的海拔分辨率为13cm。内置24bit的ADC,校准的数据存储在112bit的PROM中。工程师在读取校准数据进行温度和压力换算的过程中,遇到读取的数据值超出压力测量范围的问题,本文主要介绍问题定位和解决的过程,为工程师设计提供参考,节省开发周期。

首先确认IIC的地址正确0x76//0b1110110。然后开始定位数据读取和换算的过程,以下是客户的例程,从划红线的地方,OFF的计算过程中,cal_c[2]是16bit的数据,左移17bit,会导致定义的unsigned int,32bit的溢出问题。

在校准和计算的过程中需要注意以下问题:

需要根据规格书中给出的具体型号的计算流程图及计算公式来计算温度和压力数据。其次在计算的过程中,因为涉及移动多个bit,如果定义的变量范围太小,很容易导致计算过程中的溢出问题,以上案例就是因为这个原因导致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值