MBed 5 version of BME280 test verify a BME280 can be reset via the I2C Bus
main.cpp
- Committer:
- Roietronics
- Date:
- 2017-04-14
- Revision:
- 0:8ffd97155ff2
File content as of revision 0:8ffd97155ff2:
#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");
}