DHT11
1.引脚
PA7->接HDQ
2.Cubemx实现的配置
3.生成工程
1.DHT11读取函数
uint8_t DHT11_Read_Data(uint8_t *temp, uint8_t *humi)
{
uint8_t buf[5];
uint8_t i;
DHT11_Rst();
if(DHT11_Check() == 0)
{
for(i = 0; i < 5; i++)
{
buf[i] = DHT11_Read_Byte();
}
if((buf[0] + buf[1] + buf[2] + buf[3]) == buf[4])
{
*humi = buf[0];
*temp = buf[2];
}
}
else return 1;
return 0;
}
2.DHT11读取测试
while(DHT11_Init()) //DHT11初始化
{
LCD_DisplayStringLine(Line5, (uint8_t *)"DHT11 Error ");
HAL_Delay(200);
}
LCD_DisplayStringLine(Line5, (uint8_t *)"DHT11 OK ");
HAL_Delay(1200);
DHT11_Read_Data(&temperature_high, &humidity_high); //读取温湿度值
sprintf((char *)arr, "Moisture:%2d%%",humidity_high);
LCD_DisplayStringLine(Line6,arr);
sprintf((char *)arr, "Temperature:%2d",temperature_high);
LCD_DisplayStringLine(Line8,arr);