实现的功能
串口每隔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的头文件