BMP180的负温度的读取和显示

在项目中使用BMP180传感器遇到零下温度无法正常显示的问题。通过研究数据手册,推测负温度是以一般负数方式存储,即取反加1。经过验证,发现负数的十位和个位都是负数,从而在ARM端修改解析程序以解决此问题,避免了单片机程序的改动。
摘要由CSDN通过智能技术生成

		**BMP180的负温度的读取和显示**

在某个项目中用到了BMP180(TI的芯片,项目中是在某宝上买的模块,I2C总线方式读取)。具体的I2C总线方式读取数据的内容就不多说了,这种东西网上一大把,说多了没意思,之前的项目的硬件程序和传输协议里面都只是针对正温度来设计,在产品实际应用中发现有些使用地点的环境有零下的温度,但机子没有做零下温度的处理,所以不能正常显示零下温度。
刚开始我在网上查资料看BMP180有没有对零下温度的处理,网上几乎没有对这个所提及,我仔细地研究了一下BMP180的数据手册:
在这里插入图片描述
程序里面计算之后是一个long的数据格式来存取温度信息,但也没有明确说明正负温度是怎么表示的,我就大胆的猜想一下,就是一般负数的存取方式(原来负数的数据取反再加1)
大概是这样的:比如一个负15.5的温度数据
(1)原始数据:1000,0000,1001,1011
(2)取反: 1111,1111,0110,0100
(3)加1: 1111,1111,0110,0101(0xFF65)单片机存储的数据格式

上手载程序上验证一下吧:
s16

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值