BME280 Environmental Sensor
CODE ANALYSIS
Libraries used In demo code is official library Bosch Sensortec:
https://github.com/BoschSensortec/BME280_driver
For SPI, its initial code:
struct bme280_dev dev;
int8_t rslt = BME280_OK;
/* Sensor_0 interface over SPI with native chip select line */
dev.dev_id = 0;
dev.intf = BME280_SPI_INTF;
dev.read = user_spi_read;
dev.write = user_spi_write;
dev.delay_ms = user_delay_ms;
rslt = bme280_init(&dev);
For I2C, its initial code:
struct bme280_dev dev;
int8_t rslt = BME280_OK;
dev.dev_id = BME280_I2C_ADDR_PRIM;
dev.intf = BME280_I2C_INTF;
dev.read = user_i2c_read;
dev.write = user_i2c_write;
dev.delay_ms = user_delay_ms;
rslt = bme280_init(&dev);
bme280_dev is BME280 device structure provided by official library, could be used to
initialize and obtain data. For different platform we should realize the functions below:
user_i2c_read()
user_i2c_write()
user_spi_read()
user_spi_write()
user_delay_ms()