#ifndef __DHT11_H__ #define __DHT11_H__ #include "stm32f10x.h" // Device header #include "Delay.h" /* DHT11的设置 */ #define DHT11_GPIO_CLK RCC_APB2Periph_GPIOB #define DHT11_GPIO_PORT GPIOB #define DHT11_GPIO_PIN GPIO_Pin_1 /* 输出状态定义 */ #define DHT11_MODE_OUT 1 #define DHT11_MODE_IN 0 /* 控制DHT11引脚输出高低电平 */ #define DHT11_Low GPIO_ResetBits(DHT11_GPIO_PORT, DHT11_GPIO_PIN) #define DHT11_High GPIO_SetBits(DHT11_GPIO_PORT, DHT11_GPIO_PIN) typedef struct { uint8_t ucTemp; uint8_t ucHumi; } DHT11Data_t; void vDht11Mode(uint8_t ucMode); // DHT11引脚输出模式控制 void vDht11Rst(void); // 复位DHT11 uint8_t vDht11Init(void); // 初始化DHT11 uint8_t vDht11Check(void); // 检测DHT11 uint8_t vDht11ReadBit(void); // 读取一位的数据 uint8_t vDht11ReadByte(void); // 读取一个字节的数据 uint8_t vDht11ReadData(uint8_t *pucTemp, uint8_t *pucHumi); // 读取温湿度数据 #endif