In section "6.1 Data registre shadowing", it is stated that the end of the burst read for I2C is marked by a STOP condition. I would like to know if a NACK after reading the last byte will allow the updating of the data registre.
Normally, I understand an I2C stop condition as the action where the master releases the I2C bus (i.e. SCL high, SDA low to high).
I post this question, as I would like to read the data 2 times (or more) without allowing the BME280 to update the data registre. This will allow me to continue reading until I get repeated identical readings (hence ensuring that the readout is correct).
This requires that I burst read the data and then retransmits the start address (0xF7) before burst reading the data again. Here a NACK is sent after reading the last byte, but the bus is not released (it is repeat started). I do however think that the NACK allows the BME280 to update the data registre. Is this correct?
Solved! Go to Solution.
I double checked with our ASIC engineer and get the following answer:
1. Shadow register will be save to data register with NACK.
2. Sensor can response to REPEAT START after burst read instead of STOP. but it will be treat as another burst read. So it will not affect the shadow register to data register process.