使用GY89的BMP180模块获取温度和压强(海拔)

最近要用一下GY89,GY89有三个模块,温度压强、加速度计、陀螺仪。通过不同的片选信号来选择。

mbed库上都写好了,挺好的。

以下是自己的代码:

#include "mbed.h"
#include "BMP180.h"//温度压强
#include "L3GD20.h"//三轴陀螺仪
#include "LSM303DLH.h"//加速度计
#include "vector.h"//加速度计的向量类 包含xyz



//片选信号的引脚  默认使用BMP180  片选信号为10时使用L3GD20  片选信号为01时使用LSM303D
DigitalOut cs1(PC_2);
DigitalOut cs2(PC_3);



int main() 
{    

       
       
       
/****************使用BMP180获取温度和压强***************************/
     
    BMP180 bmp180(PB_9, PB_8);//实例化bmp180
    
    float pressure, temperature;//用这两个变量存储获取到的压强和温度
 
    
    bmp180.Initialize(64, BMP180_OSS_ULTRA_LOW_POWER);//初始化
    
    while(1) 
    {        
       //bmp180获取数据 
       if (bmp180.ReadData(&temperature, &pressure)){
            //将获得的数据输出到终端
            printf("温度: %f
",temperature); 
            printf("压强: %f
",pressure);  
            }
        wait(1);
    }
/*****************使用BMP180获取温度和压强***************************/
    
}    

就是这个东西

试了一下室外,室内的数据,还是蛮准确的。

            

                     

原文地址:https://www.cnblogs.com/wzben/p/5107824.html