I am experiencing some difficulties with the BMP280 sensor and the official (GitHub) drivers.
I have ported the sample program for my platform and so far everything looks good. On the I2C everything looks consistent with a logic analyzer. However, the sensor always outputs only the reset values (0x800000) for the two parameters pressure and temperature.
Of course, the corresponding measurements are not disabled (as I said, it's basically the exact example program, with adjusted I2C read/write and delay methods). I also added a provisional call to the "bmp2_get_power_mode" method to make sure that the sensor is not in sleep mode. In the I2C response when reading the register I can see on the logic analyzer that it is in "standard mode" as planned
The sensor is supplied with 1.8V VDD and VDDIO. It is wired with two 100nF capacitors as described in the data sheet. The standby-delay is set to 250ms (default for the provided sample).
I attached two screen captures of the Logic Analyzer trace. They show the readout of the registers 0xF7 to 0xFC and the corresponding readout of the registers 0xF3 and 0xF4.
I hope someone can tell me what I do wrong.
Solved! Go to Solution.
After you migrating BMP280 example code from github and readm pressue value, could you read out the following memory map values before you read sensor data, and check whether the register value is set by you?