- BSP_ENV_SENSOR_Init(HTS221_0, ENV_TEMPERATURE);
- BSP_ENV_SENSOR_SetOutputDataRate(HTS221_0, ENV_TEMPERATURE, HTS221_ODR);
-
- BSP_ENV_SENSOR_Init(STTS751_0, ENV_TEMPERATURE);
- BSP_ENV_SENSOR_SetOutputDataRate(STTS751_0, ENV_TEMPERATURE, STTS751_ODR);
读取数据
- if ( BSP_ENV_SENSOR_GetValue(STTS751_0, ENV_TEMPERATURE, &mptr->temperature0 ) == BSP_ERROR_COMPONENT_FAILURE )
- {
- mptr->temperature0 = 0.0f;
- ret = BSP_ERROR_COMPONENT_FAILURE;
- }
- if ( BSP_ENV_SENSOR_GetValue(HTS221_0, ENV_TEMPERATURE, &mptr->temperature1 ) == BSP_ERROR_COMPONENT_FAILURE )
- {
- mptr->temperature1 = 0.0f;
- ret = BSP_ERROR_COMPONENT_FAILURE;
- }
然后把数据传输到串口助手
- size = sprintf(data_s, "STTS751 Temp:%5.2f,HTS221 Temp:%5.2f\r\n", rptr->temperature0, rptr->temperature1);
-
- osPoolFree(sensorPool_id, rptr); // free memory allocated for message
- BSP_LED_Toggle(LED1);
- CDC_Transmit_FS(( uint8_t * )data_s, size);
数据输出如下
把输出的数据用MATLAB绘图如下。
上电首先检测室温,然后用吹风机进行加热,再用吹风机进行降温。最后是关闭吹风机让传感器慢慢降温。
下面的对比图,Y轴单位是温度,X轴是采样点个数,2秒采样一次。
开始的室温接近32度,实际并没有这么高的温度,可能是板子靠近笔记本的出风口导致。
室内开了空调,我一个温度计检测的是29度,空调温度计检测的室温是28度多。
这个降温的过程有点久。