Hi I am using BMP280 and not getting temperature. By debugging code come to know that getting calibration data 0x00 for all 24 registers.
Anyone have idea that is calibration data 0x00 allowed???
If not then what it should be and how can I get it???
Is it configurable??
Thanks for your inquiry.
Please see page 23 of BMP280 datasheet at https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmp280-ds001.pdf. As it can be seen the values in 24 calibration registers are non-zero.Each BMP280 chip has been calibrated, trimmed and tested in Bosch factory before shipping to the market. This means that each BMP280 chip will have different values in 24 calibration registers.
So the issue may come from your SPI or I2C communication. You can read BMP280 register 0xD0 to see if you can get the correct chip_ID value of 0x58 or not. This can verify yourread function of SPI or I2C. Then you can try to write a value to register 0xF4 and then read this register again to see if the value has been successfully written to register 0xF4 or not. If yes, then both your read and write functions are working fine. You can try to read 24 calibration registers again to see if you still get value of 0x00 or not.