test program for my BME280 library. Both I2C and SPI mode have been tested.

Dependencies:   BME280 mbed

main.cpp

Committer:
Rhyme
Date:
2017-05-09
Revision:
0:7e8c784a0df1
Child:
1:21463f9ca08d

File content as of revision 0:7e8c784a0df1:

#include "mbed.h"
#include "MSS.h"
#include "BME280.h"

#define BME280_I2C_ADDRESS 0x76

DigitalOut csb(PIN_CS0, 1) ;

int main() {
    uint8_t data[8] ;
    float temp, hum, pres ;
//    BME280 *bme280 = new BME280(PIN_SDA, PIN_SCL, BME280_I2C_ADDRESS) ;
    BME280 *bme280 = new BME280(PIN_SCK, PIN_MISO, PIN_MOSI, PIN_CS0) ;

    bme280->reset() ;
    wait(2) ;
    bme280->init() ;
    wait(1) ;
    printf("=== test BME280 for %s (%s) ===\n", BOARD_NAME, __DATE__) ;
    printf("ID = 0x%02X (0x60 expected for BME280)\n", bme280->getID()) ;
    printf("Temperature(C) , Humidity(%%), Pressure(hPa)\n") ;
    while(1) {
        bme280->trigger() ;
        while(bme280->busy()) {
            wait(0.1) ;
        }
        bme280->readData(data) ;
        temp = bme280->getTemperature(&data[3]) ;
        hum = bme280->getHumidity(&data[6]) ;
        pres = bme280->getPressure(&data[0]) ;
        printf("%.2f, %.2f, %.2f\n", temp, hum, pres) ;
        wait(2) ;
    }
}