【CH579M-R1】+DHT22温湿度检测
[复制链接]
前面主要介绍了基于模拟信号的传感器使用,本次说一说数字式传感器的使用,作为数字式传感器它也有许多种,
如温湿度传感器、光强度传感器、气温气压传感器等。
DHT22是一种检测检测常规状态下温湿度的传感器,它采用单总线结构,因此十分节省系统资源。
DHT22的采集精度要高于DHT11,它的精度可达小数点后1位,而DHT11只能到整数位。
由于是采用单总线工作,这一条线既要能输出,又要能输入。
在这里,是使用PA12来与DHT22的DAT引脚相连。
使其输出高低电平和进行输入的语句如下:
#define DHT11_D0_H GPIOA_SetBits( GPIO_Pin_12 )
#define DHT11_D0_L GPIOA_ResetBits( GPIO_Pin_12 )
#define DHT11_D0_R GPIOA_ReadPortPin( GPIO_Pin_12 )
配置引脚为输入/输出功能的函数为:
void DHT11_IO_IN(void)
{
GPIOA_ModeCfg( GPIO_Pin_12, GPIO_ModeIN_PU );
}
void DHT11_IO_OUT(void)
{
GPIOA_ModeCfg( GPIO_Pin_12, GPIO_ModeOut_PP_5mA );
}
显示温湿度值的主程序为: