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


    实现的功能

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

    移植使用

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

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

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

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

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

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

    /**
    * @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,湿度%d
    ",DHT11Data[2],DHT11Data[0]);
        }
    }

     4.效果

    说明

     1.该程序处理思路

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

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

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

    2.此程序是NONOS版本

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

  • 相关阅读:
    《代码整洁之道》之四 注释
    《代码整洁之道》之三 函数
    《代码整洁之道》之二 有意义的命名
    《代码整洁之道》
    Hibernate学习笔记
    Struts2复习笔记
    学习Spring必学的Java基础知识
    Eclipse下搭建Maven框架
    onvif实现
    rtmp服务端实现
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12866634.html
Copyright © 2020-2023  润新知