49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
#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;
|
||
}
|
||
|
||
|