Steve Mylroie
/
BME280_Tests_5BM
MBed 5 version of BME280 test verify a BME280 can be reset via the I2C Bus
Diff: main.cpp
- Revision:
- 0:8ffd97155ff2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Apr 14 02:03:45 2017 +0000 @@ -0,0 +1,43 @@ +#include "mbed.h" + +I2C i2c(I2C_SDA , I2C_SCL ); +Serial debug(USBTX, USBRX); + +int main() { + char buffer[2]; + buffer[1] = 0xE0; + buffer[0] = 0x86; + int count = 2; + int address = 0x77; + int error; + // int i2c_frequency = 200 * 1000; + int i2c_frequency = 100 * 1000; + debug.printf("\nI2C BME280 Rest Test"); + + i2c.frequency(i2c_frequency); + + i2c.start(); + error = i2c.write(address << 1); //We shift it left because mbed takes in 8 bit addreses + i2c.stop(); + if (error == 1) + { + debug.printf("\nI2C device found at address 0x%X", address); + } + else + { + debug.printf("\nDevice at IC address Ox%X, not responding", address); + } + + i2c.start(); + error = i2c.write(address << 1, buffer, count); //We shift it left because mbed takes in 8 bit addreses + i2c.stop(); + if (error == 1) + { + debug.printf("\nBME280 reset request send success"); + } + else + { + debug.printf("\nBME280 reset request send failed Error Code: %d", error); + } + debug.printf("\ndone\n"); +}