一共分为三段:主机发送开始信号(先拉底数据线保持18ms,然后拉高数据线保持20-40us,然后读取dht11响应)、响应信号(dht11拉低数据线保持40-50us,作为响应信号)、输出数据(dht11拉高数据线保持40-50us,开始输出信号)。
dht11输出0和1区别(0的高电平短,1的高电平长),通过延时一段时间来检测电平是0还是1。
复位操作如下
#define DHT11_DQ_OUT PBout(3) 和#define DHT11_DQ_IN PBin(3) 的区别
1.DHT11_DQ_OUT PBout(3)
是一个函数或宏,它会将指定的引脚(在这里是 GPIOB 端口的第 3 个引脚,即 PB3)设置为输出模式,并可以设置引脚输出高电平或低电平。这个宏定义通常用于将 DHT11 的数据引脚设置为输出模式,并向传感器写入指令或数据。
2.define DHT11_DQ_IN PBin(3)
是一个函数或宏,它会读取指定引脚(在这里是 GPIOB 端口的第 3 个引脚,即 PB3)的输入状态。这个宏定义通常用于从 DHT11 传感器读取数据或状态。
总结起来,DHT11_DQ_OUT
用于配置并写入数据到 DHT11 数据引脚,而 DHT11_DQ_IN
用于配置并读取 DHT11 数据引脚的状态。