DHT11_Data_TypeDef data; if (DHT11_ReadData(&data) == DHT11_OK) { sprintf(buffer, "Temperature: %d.%dC, Humidity: %d.%d%%\r\n", data.temperature / 10, data.temperature % 10, data.humidity / 10, data.humidity % 10); HAL_UART_Transmit(&huart1, (uint8_t *)buffer, strlen(buffer), HAL_MAX_DELAY); } else { HAL_UART_Transmit(&huart1, (uint8_t *)"Failed to read data from DHT11.\r\n", 34, HAL_MAX_DELAY); } HAL_Delay(2000); }
时间: 2024-03-14 09:49:07 浏览: 121
这段代码是用来读取 DHT11 温湿度传感器数据,并通过串口输出温度和湿度值。如果读取成功,会将格式化后的温湿度值通过串口发送出去;如果读取失败,则会输出“Failed to read data from DHT11.”的提示信息。在读取完数据后,程序会延时 2 秒钟再进行下一次的读取。其中,sprintf 函数用于将温湿度值格式化成字符串,strlen 函数用于获取字符串长度,HAL_UART_Transmit 函数用于通过串口发送数据,HAL_Delay 函数用于延时。
阅读全文