最近要用一下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\n",temperature); printf("压强: %f\n",pressure); } wait(1); } /*****************使用BMP180获取温度和压强***************************/ }
就是这个东西
试了一下室外,室内的数据,还是蛮准确的。
原文:http://www.cnblogs.com/wzben/p/5107824.html