| 本帖最后由 OldestTrick 于 2024-8-12 10:35 编辑 
 
 1、HTS221 除了可以检测温度外,还可以检测湿度。手册上参数如下,
 
 
 
   
 2、测试还是使用官方提供的代码,HTS221 湿度初始化如下
 
 湿度读取  BSP_ENV_SENSOR_Init(HTS221_0, ENV_HUMIDITY);
  BSP_ENV_SENSOR_SetOutputDataRate(HTS221_0, ENV_HUMIDITY, HTS221_ODR);
 最后还是通过USB把数据传输到串口助手  if ( BSP_ENV_SENSOR_GetValue(HTS221_0, ENV_HUMIDITY, &mptr->humidity ) == BSP_ERROR_COMPONENT_FAILURE )//ENV_HUMIDITY &mptr->humidity
  {
    mptr->humidity = 0.0f;
    ret = BSP_ERROR_COMPONENT_FAILURE;
  }
 数据输出 size = sprintf(data_s, "Hum:%4.1f\r\n",  rptr->humidity);          
                       
        osPoolFree(sensorPool_id, rptr);      // free memory allocated for message
        BSP_LED_Toggle(LED1);
        CDC_Transmit_FS(( uint8_t * )data_s, size);
   
 下面是测试结果。首先是上电后读取室内的湿度,比较稳定的一个范围。
 然后用加湿器对电路板进行加湿,可以看到读取的湿度快速上升。后面停止加湿后湿度值比较快速的恢复到室内的正常值。
 通过对比,HTS221读取的湿度值和家里其他的温湿度计读取的湿度值非常接近。
 
 
 
   
 
 |