读取SHT40-AD1B-R2温湿度与实际偏差较大
读取温度28.96℃,实际温度24.6℃
读取湿度47%RH,实际湿度52%RH
void SHT40_Read_Temperature_Humidity(void)
{
uint8_t I2C_Transmit_Data[1];
I2C_Transmit_Data[0]=0xFD;
uint8_t I2C_Receive_Data[6];
HAL_I2C_Master_Transmit(&hi2c1, SHT30_Write, I2C_Transmit_Data,1,HAL_MAX_DELAY);
HAL_Delay(8);
HAL_I2C_Master_Receive(&hi2c1, SHT30_Read, I2C_Receive_Data,6,HAL_MAX_DELAY);
Temperature_data = (175 * ((I2C_Receive_Data[0] << 8) | (I2C_Receive_Data[1]))/65535.0 - 45) * 100;
Humidity_data = (125 * ((I2C_Receive_Data[3] << 8) | (I2C_Receive_Data[4]))/65535.0 - 6 ) * 100;
}
|