Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME280 status register "measuring" bit stuck high

    BME280 status register "measuring" bit stuck high

    Occasional Visitor

    I'm working on a program that communicates with the BME280 via i2c. This program has a task that resets the sensor, gets the calibration data, configures the registers, and collects data in forced mode. I force measurements at a rate of 11Hz. The oversampling value for each measurement is 3 and the IIR coefficient is 16. I have a delay of a little under 90ms between when I force a measurement and read the data registers, so there should be plenty of time for the measurement to complete. I am using FreeRTOS, however, so this delay can vary.

    Before I read the data registers, I check the "status" register to see if the data is ready. If the "status" register isn't 0, I wait for 5ms and then I check it again. I am able to collect data for a few seconds before I read a value of 1 from the "measuring" bit of the status register. Once I read a value of 1, the "measuring" bit does not appear to return to 0 no matter how long I wait.

    If I skip reading the "status" register, the data appears to be good and fluctuates as I change the temperature. I would prefer to use the "status" register though to make sure I am reading good data. What can I do to fix this bug?

    1 REPLY 1

    Community Moderator
    Community Moderator

    Hi BenKarlPitch,

    Thanks for your inquiry.
    Have you used the official sensor API and examples of BME280 on Github( as they work well and are verified? If not, you can directly refer to them.