It is not clear if your issue is related to the case above, therefore I would suggest creating your own thread/topic.
Some information are missing to support your issue here, for instance:
Hi
A seperate note here:
in case you don't want to spend too much time on debugging the i2c communication issues, a much easier way is to use an Arduino board to work with BME680 sensor.
The key is that every Arduino board uses the same APIs for I2C communication and this abstraction make it much more consistent and easier to get started.
Once you have the Arduino board, you could refer to example made available by Adafruit here:
https://github.com/adafruit/Adafruit_BME680
specifically the source code https://github.com/adafruit/Adafruit_BME680/blob/master/Adafruit_BME680.cpp contains a working example of how the read/write are setup by wrapping around the Arduino I2C APIs.
``
bool Adafruit_BME680::begin(uint8_t addr, bool initSettings) {
_i2caddr = addr;
if (_cs == -1) {
// i2c
_wire->begin();
gas_sensor.dev_id = addr;
gas_sensor.intf = BME680_I2C_INTF;
gas_sensor.read = &i2c_read;
gas_sensor.write = &i2c_write;
}
``
}
``
I used this, and it works like a breeze. Hope this helps.
if (HAL_I2C_Master_Transmit(&hi2c4, (dev_id << 1), ®_addr, 1, 10)!= HAL_OK)
Hi Sir ,
I follow all your suggetions can you share your code for user i2c read & write
for your ref Ifollow this lib https://github.com/BoschSensortec/BME680_driver