#ifndef DHT11_DHT11_H#define DHT11_DHT11_H#include"stm32f1xx.h"#include"tim.h"voidDHT11_OUT(void);voidDHT11_IN(void);voidDHT11_Reset(void);uint8_tDHT11_Check(void);uint8_tDHT11_Read_Bit(void);uint8_tDHT11_Read_Byte(void);uint8_tDHT11_Read_Data(uint8_t*humi,uint8_t*tem...
首先主机发送开始信号(也叫复位信号),即:拉低数据线,保持t1(至少18ms,最大不得超过30ms)时间,然后主机拉高数据线t2(20~40us)时间,然后主机读取DHT11的响应,正常的话,DHT11会拉低数据线,并保持t3(40~50us)时间来作为响应信号,然后DHT11拉高数据线,保持t4(40~50us)时间后,DHT11开始输出数据。 图33.1....
1. 初始化STM32与DHT11的通信接口 首先,需要初始化STM32的GPIO和UART接口。这里假设你使用的是STM32的HAL库。 c // GPIO初始化函数 void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; // GPIO Ports Clock Enable __HAL_RCC_GPIOC_CLK_ENABLE(); // 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
DHT11是很常用的温湿度传感器,时序也比较简单,如下所示: 直接给出HAL库的驱动: 1 微秒级延时函数 HAL库并没有直接的微秒级延时函数,下面是自己实现的微秒堵塞延时函数(使用定时器TIM3); /** * @brief 微秒级延时 */ void bsp_delay_us(uint16_t us) ...
STM32使用HAL库驱动DHT11读取温湿度程序 驱动DHT11、DHT22、DS18BB20等温湿度模块时序是比较简单的,关键在于控制好时序的延时时间,HAL库的延时函数HAL_Delay是毫秒级别延时函数,所关键点就是实现微秒级别的延时函数。 微秒级别延时函数实现见我的另 ...
本实验配置好的实验工程已经放到了开发板光盘中,路径为:开发板光盘A-基础资料\1、程序源码\3、M4裸机驱动例程\ MP157-M4 HAL库V1.2\实验22 DHT11数字温湿度传感器实验。 33.3.1 程序设计流程 关于GPIO的HAL库驱动以及寄存器我们在前面章节已经分析过,这里就不再重复讲解。下面,我们根据前面的时序分析总结出本节实...
利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第二部分针对单总线通信的一个典型例子——DHT11温湿度传感器,主要用于对STM32中GPIO模块和单总线通信的理解。 硬件模块 STM32F103R4 DHT11 LCD1602 74HC373 软件工...
STM32单片机学习笔记(2):DHT11温湿度传感器-利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第二部分针对单总线通信的一个典型例子——DHT11温湿度传感器,主要