请问为什么这个DHT11的湿度数据显示会是这样的?

Will_Lecter 2018-07-06 11:42:28
我的湿度显示是这样的,很奇怪,连I都有??


左边是DHT11的数据,右边是设置的报警温度,程序如下?
能不能教教我怎么把湿度的数据调正常呀?
DHT11部分的程序:
/*********************** DHT11测试模块***************************************/

void start()//开始信号
{
io=1;
delay1();
io=0;
delay(20);//>18ms
io=1;
delay1();//20-40us
delay1();
delay1();
delay1();
delay1();
}
uchar receive_byte()//接收一个字节
{
uchar i,temp,count;
for(i=0;i<8;i++)
{
temp=0;
delay1();delay1();delay1();delay1();
if(io==1)temp=1;
count=2;
while((io)&&count++);
if(count==1)break;
data_byte<<=1;
data_byte|=temp;
}
return data_byte;
}
void receive()//接收数据
{
uchar T_H,T_L,R_H,R_L,check,num_check;
uchar count;
start();//开始信号
io=1;
if(!io)//读取DHT11响应信号
{
while((io)&&count++);
R_H=receive_byte();
R_L=receive_byte();
T_H=receive_byte();
T_L=receive_byte();
check=receive_byte();
io=0;//拉低延时50us
delay1();delay1();delay1();delay1();delay1();
io=1;
num_check=R_H+R_L+T_H+T_L;
if(num_check=check)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
check=num_check;
}
}
}
中间其他模块的省了,
这是主程序中的显示:
display(0x05,TH/10+0x30); //温度显示
display(0x06,TH%10+0x30);
display(0x45,RH/10+0x30); //湿度显示
display(0x46,RH%10+0x30);
这里的RH好像只有湿度的整数部分,但这样取出来也不会像照片里那样吧,好奇怪啊
...全文
789 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
咸丫 2019-06-12
  • 打赏
  • 举报
回复
学习学习学习
brucewoo 2018-07-13
  • 打赏
  • 举报
回复
能显示出来应该数据校验时正常的。
会不会是液晶屏显示程序的问题? 要不试试在上面显示固定的数字看看效果?
of123 2018-07-06
  • 打赏
  • 举报
回复
检查你 RH 中的值,可能是太大了。

display(0x45,RH/10+0x30); 中如果 RH/10 的值大于 9,+0x30 后就可能是数字以外的字符。

例如,
ASC("B") = 0x42,RH/10 = 18
ASC("B") = 0x49,RH/10 = 27

试试 display(0x45,(RH/10)%10+0x30);。是否高位有其他内容?
Votangroom 2018-07-06
  • 打赏
  • 举报
回复
检查你的显示函数,检查RH变量

推荐你在RH=R_H;这里设个断点,观察RH的值是否正常,若正常则可能是显示函数的用法有问题。若不正常则可能是模块设置有问题
IPFS(InterPlanetary File System)是一个基于内容寻址的、分布式的、新型超媒体传输协议。IPFS支持创建完全分布式的应用。它旨在使网络更快、更安全、更开放。IPFS是一个分布式文件系统,它的目标是将所有计算设备连接到同一个文件系统,从而成为一个全球统一的存储系统。某种意义上讲,这与Web最初的目标非常相似,但是它是利用BitTorrent协议进行Git数据对象的交换来达到这一个目的的。IPFS正在成为现在互联网的一个子系统。IPFS有一个更加宏伟而疯狂的目标:补充和完善现有的互联网,甚至最终取代它,从而成为新一代的互联网。这听起来有些不可思议,甚至有些疯狂,但的确是IPFS正在做的事情。图1-1所示为IPFS的官方介绍。 图1-1 IPFS官方介绍IPFS项目通过整合已有的技术(BitTorrent、DHT、Git和SFS),创建一种点对点超媒体协议,试图打造一个更加快速、安全、开放的下一代互联网,实现互联网中永久可用、数据可以永久保存的全球文件存储系统。同时,该协议有内容寻址、版本化特性,尝试补充甚至最终取代伴随了我们20多年的超文本传输协议(即HTTP协议)。IPFS是一个协议,也是一个P2P网络,它类似于现在的BT网络,只是拥有更强大的功能,使得IPFS拥有可以取代HTTP的潜力。Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,它把云存储变为一个算法市场,代币(FIL)在这里起到了很重要的作用。代币是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者(Filecoin矿工)之间的中介桥梁,Filecoin协议拥有两个交易市场—数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。IPFS和Filecoin相互促进,共同成长,解决了互联网的数据存储和数据分发的问题,特别是对于无数的区块链项目,IPFS和Filecoin将作为一个基础设施存在。这就是为什么我们看到越来越多的区块链项目采取了IPFS作为存储解决方案,因为它提供了更加便宜、安全、可快速集成的存储解决方案。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧