一、DHT11芯片介绍
1.硬件相关
2.硬件支持协议-单总线协议
二、工程配置
1. cubeMX配置
单片机用GPIO口软件模拟-单总线协议
还有串口等,请自行配置。
2.将DHT11驱动文件保存到工程文件中
并在头文件中包含
/*
* dht11.c
*/
#include "dht11.h"
#include "main.h"
void DHT11_IO_OUT (void){
//GPIO端口 转为推挽输出
GPIO_InitTypeDef GPIO_InitStruct = {
0};
GPIO_InitStruct.Pin = DHT11_DA_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
void DHT11_IO_IN (void){
//GPIO端口 变为 输入模式
GPIO_InitTypeDef GPIO_InitStruct = {
0};
GPIO_InitStruct.Pin = DHT11_DA_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
void DHT11_RST (void){
//DHT11端口复位,发出起始信号(IO发送)
DHT11_IO_OUT()