最近要用一下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获取温度和压强***************************/
}
就是这个东西

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

