欢迎入群共同学习交流
时间记录:2024/1/29
一、DHT11引脚介绍
(1)VCC:电源引脚,3.3-5.5V
(2)DATA:数据输入输出引脚
(3)NC:保留引脚,悬空即可
(4)GND:电源地引脚
二、数据格式介绍
(1)一次完整的数据传输为40bit,高位先传
(2)40bit数据介绍:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验数据,前四byte数据值相加之和等于校验值
三、通讯过程
(1)空闲状态下,数据线处于高电平
(2)MCU拉低总线发出起始信号,保持至少18ms(18-30ms),然后释放总线,将总线拉高20-40us,然后DHT11便会发出响应(拉低总线80us,然后拉高总线80us),响应完毕后开始40bit数据的传输
(3)40bit数据介绍:DHT11拉低总线50us,然后拉高总线,高电平保持时间在26-28us表示数据“0”,保持时间在70us表示数据“1”
四、示例代码
(1)头文件
#ifndef __DHT11_H__
#define __DHT11_H__
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#define DHT11_OUT PAout(11)
#define DHT11_IN PAin(11)
//初始化
void vDHT11Init