复位DHT11 void DHT11_Reset(void ){ DHT11_OUT(); //设置为输出 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_5, GPIO_PIN_RESET); //拉低引脚 HAL_Delay(20); //延迟20ms HAL_GPIO_WritePin(GPIOG, GPIO_PIN_5, GPIO_PIN_SET); //拉高引脚 Delay_us(30); } //等待DHT11回应 uint8_t DHT11_...
DHT11_Mode_IN_NP(); // 主机输入,获取 DHT11 数据 if (DHT11_IN == 0) // 收到从机应答 { while (DHT11_IN == 0); // 等待从机应答的低电平结束 while (DHT11_IN == 1); // 等待从机应答的高电平结束 /*开始接收数据*/ DHT11_Data->humi_int = DHT11_ReadByte(); DHT11_Data->...
硬件开发板:STM32F407VET6 软件平台:cubemax+keil+VScode 1 DHT11工作原理 1.1 简介 DHT11温湿度传感器是一种数字式温湿度传感器,其工作原理基于集成了湿度感测元件和NTC温度感测元件的传感器模块。以下是DHT11温湿度传感器的工作原理: 湿度感测:DHT
以下是一个使用STM32F103C8T6和HAL库读取DHT11温湿度传感器的代码示例。DHT11是一款常用的温湿度传感器,通过单总线协议与微控制器通信。 1. 硬件连接 将DHT11的VCC引脚连接到STM32的3.3V电源。 将DHT11的GND引脚连接到STM32的GND。 将DHT11的数据引脚(通常是OUT引脚)连接到STM32的一个GPIO引脚,例如PA5。 2....
STM32使用HAL库驱动DHT11读取温湿度程序 驱动DHT11、DHT22、DS18BB20等温湿度模块时序是比较简单的,关键在于控制好时序的延时时间,HAL库的延时函数HAL_Delay是毫秒级别延时函数,所关键点就是实现微秒级别的延时函数。 微秒级别延时函数实现见我的另 ...
首先主机发送开始信号(也叫复位信号),即:拉低数据线,保持t1(至少18ms,最大不得超过30ms)时间,然后主机拉高数据线t2(20~40us)时间,然后主机读取DHT11的响应,正常的话,DHT11会拉低数据线,并保持t3(40~50us)时间来作为响应信号,然后DHT11拉高数据线,保持t4(40~50us)时间后,DHT11开始输出数据。 ...
利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第二部分针对单总线通信的一个典型例子——DHT11温湿度传感器,主要用于对STM32中GPIO模块和单总线通信的理解。 硬件模块 STM32F103R4 DHT11 LCD1602 74HC373 软件工...
本实验配置好的实验工程已经放到了开发板光盘中,路径为:开发板光盘A-基础资料\1、程序源码\3、M4裸机驱动例程\ MP157-M4 HAL库V1.2\实验22 DHT11数字温湿度传感器实验。 33.3.1 程序设计流程 关于GPIO的HAL库驱动以及寄存器我们在前面章节已经分析过,这里就不再重复讲解。下面,我们根据前面的时序分析总结出本节实...
一、DHT11传感器工作原理 1. DHT11传感器使用单总线通信方式,实现数据传输与控制。在操作中,其工作过程如下:(1)设备首先检查总线上是否存在DHT11设备,并确认设备的响应。(2)随后,DHT11传感器发送数据至STM32。二、STM32CubeMX配置开发环境 选用STM32F103ZET6开发板,DHT11模块与PG5引脚连接,...
但是由于stm32f103很难得到1us的时钟,而且使用HAL库没有直接的寄存器操作,所以需要一定的修改,这里主要讲如何修改。 DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度20-90%RH, 温度0~50℃。 DHT11利用单总线协议,因此有严格的时序。