05-24-2024 03:20 PM
Hello,
I'm testing the BMP388 using I2C. It works in normal mode, it read pressure and temperature.
If I write in OSR a value for a oversampling i.e 0x01 for oversampling x2, it do not work, register 0x1B goes to 0x03 instead 0x33 and register 0x02 goes to 0x04 (config error).
Best Regards,
Edoardo Chiodini
05-24-2024 04:30 PM
The oversampling works is forced mode and not in normal mode. The datasheet has this restrinction?
05-24-2024 06:49 PM
Hi,
Thanks for your inquiry.
Oversampling rate (OSR) works in both normal mode and forced mode. The higher the OSR, the cleaner the measurements will be. In normal mode OSR will not affect ODR (output data rate). In forced mode OSR will affect the maximum sampling rate, because the higher OSR the longer the measurement time will be.
In your case when register 0x1B has the value of 0x03, it means BMP388 is in sleep mode. It will not make any measurements. You may do the following:
(1) Read and print the values of both register 0x1B and 0x1C
(2) Write value of 0x01 to register 0x1C to set osr_p to x2
(3) Read and print the values of both register 0x1B and 0x1C
Thanks.