ESP8266 SDK开发: 外设篇-温湿度传感器-DHT11

2020-05-12 16:49:15 浏览数 (1)

实现的功能

串口每隔2S打印一下Wi-Fi模块采集的温湿度数据

移植使用

1.我给大家封装好了DHT11的文件

2.把文件按照下图放置,并在DHT11.h中修改GPIO

我的开发板是使用的GPIO4采集的DHT11数据

2.在主函数中包含头文件

3.采集温湿度数据并打印.

用户可以用定时器每隔2S采集一次

代码语言:javascript复制
/**
* @brief   定时器回调函数
* @param   parg:传入的配置os_timer_setfn函数最后的参数
* @param   None
* @param   None
* @param   None
* @retval  None
* @warning None
* @example
**/
void os_timer_one_function(void *parg)
{
    RendTHCnt  ;
    if(RendTHCnt>=2000){
        RendTHCnt=0;
        DHT11_Read_Data();
        os_printf("温度:%d,湿度%drn",DHT11Data[2],DHT11Data[0]);
    }
}

4.效果

说明

1.该程序处理思路

采集到数据以后判断下校验和是否正确,如果正确,则把新数据存入数组

如果不正确,则判断下和上次数据的偏差,如果偏差不是很大也认为是正确的数据

如果采集了5次校验和都是错误的,则设置数据全部为0xff

2.此程序是NONOS版本

用户移植到RTOS版本上的时候需要更改DHT11.c中操作GPIO的头文件

0 人点赞