芯片解密STM32+BME280测量大气压强源程序
- 芯片解密#include <math.h>
- 芯片解密#include "delay.h"
- 芯片解密#include "myiic.h"
- 芯片解密#include "stdio.h"
- #define BME280_ADDRESS 0XEC
- unsigned long int hum_raw,temp_raw,pres_raw;
- signed long int t_fine;
- static float bme280PressureToAltitude(float* pressure/*, float* groundPressure, float* groundTemp*/);
- void writeReg(uint8_t reg_address, uint8_t data);
- void readData(void);
- void readTrim(void);
- uint16_t dig_T1;
- int16_t dig_T2;
- int16_t dig_T3;
- uint16_t dig_P1;
- int16_t dig_P2;
- int16_t dig_P3;
- int16_t dig_P4;
- int16_t dig_P5;
- int16_t dig_P6;
- int16_t dig_P7;
- int16_t dig_P8;
- int16_t dig_P9;
- int8_t dig_H1;
- int16_t dig_H2;
- int8_t dig_H3;
- int16_t dig_H4;
- int16_t dig_H5;
- int8_t dig_H6;
- void setup()
- {
- uint8_t osrs_t = 1; //Temperature oversampling x 1
- uint8_t osrs_p = 1; //Pressure oversampling x 1
- uint8_t osrs_h = 1; //Humidity oversampling x 1
- uint8_t mode = 3; //Normal mode
- uint8_t t_sb = 5; //Tstandby 1000ms
- uint8_t filter = 0; //Filter off
- uint8_t spi3w_en = 0; //3-wire SPI Disable
-
- uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mode;
- uint8_t config_reg = (t_sb << 5) | (filter << 2) | spi3w_en;
- uint8_t ctrl_hum_reg = osrs_h;
-
- writeReg(0xF2,ctrl_hum_reg);
- writeReg(0xF4,ctrl_meas_reg);
- writeReg(0xF5,config_reg);
- readTrim(); //
- }

芯片解密