Electronic Components Datasheet Search |
|
BMP280 Datasheet(PDF) 22 Page - Bosch Sensortec GmbH |
|
|
BMP280 Datasheet(HTML) 22 Page - Bosch Sensortec GmbH |
22 / 49 page Datasheet BMP280 Digital Pressure Sensor Page 22 BST-BMP280-DS001-19 | Revision 1.19 | January 2018 Bosch Sensortec © Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany. Note: Specifications within this document are subject to change without notice. Not intended for publication. The variable t_fine (signed 32 bit) carries a fine resolution temperature value over to the pressure compensation formula and could be implemented as a global variable. The data type “BMP280_S32_t” should define a 32 bit signed integer variable type and can usually be defined as “long signed int”. The data type “BMP280_U32_t” should define a 32 bit unsigned integer variable type and can usually be defined as “long unsigned int”. For best possible calculation accuracy, 64 bit integer support is needed. If this is not possible on your platform, please see appendix 8.2 for a 32 bit alternative. The data type “BMP280_S64_t” should define a 64 bit signed integer variable type, which on most supporting platforms can be defined as “long long signed int”. The revision of the code is rev.1.1. // Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC. // t_fine carries fine temperature as global value BMP280_S32_t t_fine; BMP280_S32_t bmp280_compensate_T_int32(BMP280_S32_t adc_T) { BMP280_S32_t var1, var2, T; var1 = ((((adc_T>>3) – ((BMP280_S32_t)dig_T1<<1))) * ((BMP280_S32_t)dig_T2)) >> 11; var2 = (((((adc_T>>4) – ((BMP280_S32_t)dig_T1)) * ((adc_T>>4) – ((BMP280_S32_t)dig_T1))) >> 12) * ((BMP280_S32_t)dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T; } “”– // Returns pressure in Pa as unsigned 32 bit integer in Q24.8 format (24 integer bits and 8 fractional bits). // Output value of “24674867” represents 24674867/256 = 96386.2 Pa = 963.862 hPa BMP280_U32_t bmp280_compensate_P_int64(BMP280_S32_t adc_P) { BMP280_S64_t var1, var2, p; var1 = ((BMP280_S64_t)t_fine) – 128000; var2 = var1 * var1 * (BMP280_S64_t)dig_P6; var2 = var2 + ((var1*(BMP280_S64_t)dig_P5)<<17); var2 = var2 + (((BMP280_S64_t)dig_P4)<<35); var1 = ((var1 * var1 * (BMP280_S64_t)dig_P3)>>8) + ((var1 * (BMP280_S64_t)dig_P2)<<12); var1 = (((((BMP280_S64_t)1)<<47)+var1))*((BMP280_S64_t)dig_P1)>>33; if (var1 == 0) { return 0; // avoid exception caused by division by zero } p = 1048576-adc_P; p = (((p<<31)-var2)*3125)/var1; var1 = (((BMP280_S64_t)dig_P9) * (p>>13) * (p>>13)) >> 25; var2 = (((BMP280_S64_t)dig_P8) * p) >> 19; p = ((p + var1 + var2) >> 8) + (((BMP280_S64_t)dig_P7)<<4); return (BMP280_U32_t)p; 3.12 Calculating pressure and temperature The following figure shows the detailed algorithm for pressure and temperature measurement. This algorithm is available to customers as reference C source code (“BMP28x_ API”) from Bosch Sensortec and via its sales and distribution partners. Please contact your Bosch Sensortec representative for details. |
Similar Part No. - BMP280 |
|
Similar Description - BMP280 |
|
|
Link URL |
Privacy Policy |
ALLDATASHEET.COM |
Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Datasheet Upload | Contact us | Privacy Policy | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
Family Site : ic2ic.com |
icmetro.com |