BMP280から気圧データを取得します。updateで更新動作、getpressで値を読み出します

Dependents:   SensorManager

Committer:
kim1212
Date:
Tue Feb 13 04:19:43 2018 +0000
Revision:
1:a65c7f637b1e
Parent:
0:54d7f18450e6
?????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kim1212 0:54d7f18450e6 1 #ifndef BMP280_H
kim1212 0:54d7f18450e6 2 #define BMP280_H
kim1212 0:54d7f18450e6 3 /*
kim1212 0:54d7f18450e6 4 #include "mbed.h"
kim1212 0:54d7f18450e6 5
kim1212 0:54d7f18450e6 6 #include "BMP280.h"
kim1212 0:54d7f18450e6 7
kim1212 0:54d7f18450e6 8 BMP280 bmp(D11,D12,D13,D10);
kim1212 0:54d7f18450e6 9
kim1212 0:54d7f18450e6 10 int main() {
kim1212 0:54d7f18450e6 11
kim1212 1:a65c7f637b1e 12 bmp.init(OSR_1,OSR_4,IIR_0);
kim1212 0:54d7f18450e6 13
kim1212 0:54d7f18450e6 14
kim1212 0:54d7f18450e6 15 while(1) {
kim1212 0:54d7f18450e6 16 while(bmp.update()!=1);
kim1212 0:54d7f18450e6 17 printf("%f\r\n",bmp.getpress());
kim1212 0:54d7f18450e6 18 wait(0.1);
kim1212 0:54d7f18450e6 19 }
kim1212 0:54d7f18450e6 20 }
kim1212 0:54d7f18450e6 21 */
kim1212 0:54d7f18450e6 22
kim1212 0:54d7f18450e6 23 #define OSR_1 0b001
kim1212 0:54d7f18450e6 24 #define OSR_2 0b010
kim1212 0:54d7f18450e6 25 #define OSR_4 0b011
kim1212 0:54d7f18450e6 26 #define OSR_8 0b100
kim1212 0:54d7f18450e6 27 #define OSR_16 0b101
kim1212 0:54d7f18450e6 28
kim1212 0:54d7f18450e6 29 #define IIR_0 0b000
kim1212 0:54d7f18450e6 30 #define IIR_4 0b100
kim1212 1:a65c7f637b1e 31 #define IIR_16 0b111
kim1212 0:54d7f18450e6 32
kim1212 0:54d7f18450e6 33
kim1212 0:54d7f18450e6 34
kim1212 0:54d7f18450e6 35 #include "mbed.h"
kim1212 0:54d7f18450e6 36
kim1212 0:54d7f18450e6 37 class BMP280 {
kim1212 0:54d7f18450e6 38
kim1212 0:54d7f18450e6 39 public:
kim1212 0:54d7f18450e6 40 BMP280(PinName mosi,PinName miso,PinName sck,PinName _cs);
kim1212 1:a65c7f637b1e 41 void init(char t_osr,char p_osr,char IIR);
kim1212 0:54d7f18450e6 42 char readbyte(char adr);
kim1212 0:54d7f18450e6 43 void writebyte(char adr,char data);
kim1212 0:54d7f18450e6 44 void readnbyte(char adr,char *data,char num);
kim1212 0:54d7f18450e6 45
kim1212 0:54d7f18450e6 46 int bmp280_compensate_T_int32(int adc_T);
kim1212 0:54d7f18450e6 47 unsigned int bmp280_compensate_P_int64(int adc_P);
kim1212 0:54d7f18450e6 48 bool update();
kim1212 1:a65c7f637b1e 49 unsigned int getpress();
kim1212 0:54d7f18450e6 50
kim1212 0:54d7f18450e6 51
kim1212 0:54d7f18450e6 52 private:
kim1212 0:54d7f18450e6 53 SPI bmp;
kim1212 0:54d7f18450e6 54 DigitalOut cs;
kim1212 0:54d7f18450e6 55 int t_fine;
kim1212 0:54d7f18450e6 56 unsigned short dig_T1,dig_P1;
kim1212 0:54d7f18450e6 57 short dig_T2,dig_T3,dig_P2,dig_P3,dig_P4,dig_P5,dig_P6,dig_P7,dig_P8,dig_P9;
kim1212 0:54d7f18450e6 58 unsigned int press;
kim1212 0:54d7f18450e6 59
kim1212 1:a65c7f637b1e 60 char _t_osr;
kim1212 1:a65c7f637b1e 61 char _p_osr;
kim1212 1:a65c7f637b1e 62 char _IIR;
kim1212 0:54d7f18450e6 63
kim1212 0:54d7f18450e6 64
kim1212 0:54d7f18450e6 65 };
kim1212 0:54d7f18450e6 66
kim1212 0:54d7f18450e6 67
kim1212 0:54d7f18450e6 68
kim1212 0:54d7f18450e6 69
kim1212 0:54d7f18450e6 70 #endif