// 主机发送 0x2C 0x06(高重复性测量命令)
uint8_t cmd[2] = {0x2C, 0x06};
HAL_I2C_Master_Transmit(&hi2c1, (0x44 << 1) | 0, cmd, 2, 100);
// 等待测量完成,读 6 字节:温度2+CRC + 湿度2+CRC
uint8_t buf[6] = {0};
HAL_I2C_Master_Receive(&hi2c1, (0x44 << 1) | 1, buf, 6, 100);
// 温度 = -45 + 175 * (buf[0]<<8|buf[1]) / 65535
float t = -45.0f + 175.0f * ((buf[0] << 8) | buf[1]) / 65535.0f;