一、原理图

二、CubeMX配置
PA7接上HDQ
三、代码
移植底层代码,将延迟修改

加上读取函数
float DHT11_H;
float DHT11_T;
void dht11_read()
{
unsigned char data[5];
int j=5000;
outDQ(0);
HAL_Delay(20);
outDQ(1);
usDelay(30);
inDQ();
while(!HAL_GPIO_ReadPin(GPIOA,HDQ)&&(j--));
j=5000;
while(HAL_GPIO_ReadPin(GPIOA,HDQ)&&(j--));
data[0]=recData();
data[1]=recData();
data[2]=recData();
data[3]=recData();
data[4]=recData();
outDQ(1);
if((data[0]+data[1]+data[2]+data[3])==data[4])
{
DHT11_H=data[0]+data[1]/10.0;
DHT11_T=data[2]+data[3]/10.0;
}
}
.h也修改一下
void dht11_read(void);
代入主函数
extern float DHT11_H;
extern float DHT11_T;
void project()
{
led_pro();
lcd_pro();
dht11_read();
}
sprintf(text," h:%0.2f%% t:%0.2f ",DHT11_H,DHT11_T);
LCD_DisplayStringLine(Line6, (unsigned char *)text);
955

被折叠的 条评论
为什么被折叠?



