#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...
1 微秒级延时函数 HAL库并没有直接的微秒级延时函数,下面是自己实现的微秒堵塞延时函数(使用定时器TIM3); /** * @brief 微秒级延时 */ void bsp_delay_us(uint16_t us) { __HAL_TIM_SET_COUNTER(&htim3, 0); HAL_TIM_Base_Start(&htim3); while (__HAL_TIM_GET_COUNTER(&htim3) != us);...
硬件连接将DHT11的数据引脚(DATA)与STM32的GPIO引脚相连,例如PB7。确保DHT11的电源引脚(VCC)接上STM32的3V电源。将DHT11的地线(GND)与STM32的地线相连。此外,可以在DHT11的数据引脚与电源之间加入一个上拉电阻,通常为7kΩ或10kΩ。配置GPIO利用STM32 HAL库或直接操作寄存器,将连接DHT11的GPIO引脚配置为...
#include "dht11.h" #include "stm32f1xx_hal.h" #include "cmsis_os.h" #include "uartext.h" #include "gpio.h" /* 私有宏定义 ---*/ #define DHT11_DQ_OUT(N) HAL_GPIO_WritePin(DHT11_GPIO_Port,DHT11_Pin,N==1?GPIO_PIN_SET:GPIO_PIN_RESET) #define DHT11_DQ_IN HAL_GPIO_ReadPin...
硬件开发板:STM32F407VET6 软件平台:cubemax+keil+VScode 1 DHT11工作原理 1.1 简介 DHT11温湿度传感器是一种数字式温湿度传感器,其工作原理基于集成了湿度感测元件和NTC温度感测元件的传感器模块。以下是DHT11温湿度传感器的工作原理: 湿度感测:DHT
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数据引脚配置为输出(用于...
单片机 STM32 HAL 温湿度 DHT11 1、CubeMX 定义任意一个引脚,作为数据脚,并对引脚作出如下配置: GPlO output level --High GPIO mode --Output Open Drain GPIO Pull-up/Pull-down --No pull-up and no pull-down Maximum output speed --LOW
HAL_Init(); /* 初始化HAL库 */ /* 初始化M4内核时钟,209M */ if(IS_ENGINEERING_BOOT_MODE()) { sys_stm32_clock_init(34, 2, 2, 17, 6826); } usart_init(115200); /* 串口初始化为115200 */ delay_init(209); /* 延时初始化 */ ...
//从DHT11读取一次数据//temp:温度值(范围:0~50°)//humi:湿度值(范围:20%~90%)//返回值:HAL_OK,正常;1,读取失败uint8_t DHT11_Read_Data(uint8_t *humiH,uint8_t *humiL,uint8_t *tempH,uint8_t *tempL){ uint8_t buf[5]; uint8_t i; DHT11_Rst(); if(DHT11_Check...
VCC:连接到STM32的3.3V或5V电源 DATA:连接到STM32的一个GPIO引脚(例如PA0) GND:连接到STM32的地 软件编程 1. 初始化GPIO 首先,需要初始化与DHT11通信的GPIO引脚。 #include "stm32f1xx_hal.h" #define DHT11_PORT GPIOA #define DHT11_PIN GPIO_PIN_0 ...