#include "hp203b.h" #include "i2c.h" #include "anemometer_dev.h" /**************************** *名称:set_mode *功能:配置从机模式,设置通道及采样率 *参数:无 * * *返回:无 *****************************/ void hp203_set_mode() { uint8_t cmd[1] = {HP20X_CONVERT_OSR1024}; HAL_I2C_Master_Transmit(&hi2c3, HP20X_ADDRESSCMD, cmd, 1, 0xff); } /**************************** *名称:Hp203bReadPressure *功能:获取气压数据 *参数:Press--气压值 * * *返回:无 *****************************/ long Hp203b_Pressure = 0; uint8_t Hp203bPressure_Temp[3] = {0}; void Hp203bReadPressure(void) { uint8_t read_command[1] = {HP20X_READ_P}; HAL_I2C_Master_Transmit(&hi2c3, HP20X_ADDRESSCMD, read_command, 1, 0xff); HAL_I2C_Master_Receive(&hi2c3, HP20X_ADDRESSCMD, Hp203bPressure_Temp, 3, 0xff); Hp203b_Pressure = Hp203bPressure_Temp[0]; Hp203b_Pressure <<= 8; Hp203b_Pressure |= Hp203bPressure_Temp[1]; Hp203b_Pressure <<= 8; Hp203b_Pressure |= Hp203bPressure_Temp[2]; Hp203b_Pressure = Hp203b_Pressure / 100; g_stMcs_Para.pressure = Hp203b_Pressure; }