DHT11配置编程(DHT11.h)
#define DHT11_GPIO_TYPE GPIOC
#define DHT11_GPIO_PIN GPIO_Pin_13
#define DHT11_RCC RCC_APB2Periph_GPIOC
#define DHT11_OUT_H GPIO_SetBits(DHT11_GPIO_TYPE, DHT11_GPIO_PIN)
#define DHT11_OUT_L GPIO_ResetBits(DHT11_GPIO_TYPE, DHT11_GPIO_PIN)
#define DHT11_IN GPIO_ReadInputDataBit(DHT11_GPIO_TYPE, DHT11_GPIO_PIN)
void CZ_OUT_Config(void);
void CZ_IN_Config(void);
void dht_reset(void);
u8 read_temp(u8 dht_dat[]);
u8 read_dht_dat(void);
DHT11底层编程(DHT11.c)
#include "DHT11.h"
#include "delay.h"
void CZ_OUT_Config(void)
{
GPIO_InitTypeDef g;
g.GPIO_Pin = DHT11_GPIO_PIN;
g.GPIO_Speed = GPIO_Speed_50MHz;
g.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(DHT11_GPIO_TYPE, &g);
}
void CZ_IN_Config(void)
{
GPIO_InitTypeDef g;
g.GPIO_Pin = DHT11_GPIO_PIN;
g.GPIO_Speed = GPIO_Speed_50MHz;
g.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(DHT11_GPIO_TYPE, &g);
}
void dht_reset(void)
{
CZ_OUT_Config(