к1986ве92fi подключение датчика LPS25HB по I2C_часть4
к1986ве92fi подключение датчика LPS25HB по I2C_часть4
это барометер h файл только сдесь как то он не так продефайнен чуток надо нейросетью поправить #ifndef PRESS_H #define PRESS_H #include #include "MDR32F9Qx_i2c.h" #include "MDR32F9Qx_port.h" #include "MDR32F9Qx_rst_clk.h" #include "CPU_CLK.h" #define LPS25HB_ADDRESS (0x5C ﹤﹤ 1) // Если SA0 = 0, если SA0 = 1 то 0x5D // Регистры #define LPS25HB_WHO_AM_I 0x0F #define LPS25HB_CTRL_REG1 0x20 #define LPS25HB_RES_CONF 0x10 #define LPS25HB_STATUS_REG 0x27 #define LPS25HB_PRESS_OUT_XL 0x28 #define LPS25HB_PRESS_OUT_L 0x29 #define LPS25HB_PRESS_OUT_H 0x2A #define LPS25HB_TEMP_OUT_L 0x2B #define LPS25HB_TEMP_OUT_H 0x2C // Биты CTRL_REG1 #define LPS25HB_PD_MASK (1 ﹤﹤ 7) #define LPS25HB_PD_POWERDOWN (0 ﹤﹤ 7) #define LPS25HB_PD_ACTIVE (1 ﹤﹤ 7) #define LPS25HB_ODR_MASK (7 ﹤﹤ 4) #define LPS25HB_ODR_25HZ (4 ﹤﹤ 4) // 25 Гц (см. даташит стр. 35) #define LPS25HB_DIFF_EN_MASK (1 ﹤﹤ 3) #define LPS25HB_DIFF_EN_DISABLE (0 ﹤﹤ 3) #define LPS25HB_DIFF_EN_ENABLE (1 ﹤﹤ 3) #define LPS25HB_BDU_MASK (1 ﹤﹤ 2) #define LPS25HB_BDU_DISABLE (0 ﹤﹤ 2) #define LPS25HB_BDU_ENABLE (1 ﹤﹤ 2) #define LPS25HB_SIM_MASK (1 ﹤﹤ 0) #define LPS25HB_SIM_4_WIRE (0 ﹤﹤ 0) #define LPS25HB_SIM_3_WIRE (1 ﹤﹤ 0) // Биты RES_CONF #define LPS25HB_AVGT_MASK (3 ﹤﹤ 2) #define LPS25HB_AVGP_MASK (3 ﹤﹤ 0) #define LPS25HB_AVGT_16 (3 ﹤﹤ 2) // 16 выборок #define LPS25HB_AVGP_32 (3 ﹤﹤ 0) // 32 выборки // Прототипы void Press_IO_Write(uint8_t addr, uint8_t reg, uint8_t value); uint8_t Press_IO_Read(uint8_t addr, uint8_t reg); void PressInit(void); void Press_Get_Temp(float* pData); void Press_Get_Pressure(float* pData); #endif