DHT11温湿度传感器上海时时乐走势图

我们以贰个特别轻便的事例开端:

2.MCU如何接受响应实信号?

下一步

下一节,我们将由此 多服务器通信难点 进入 多少链路层 的学习。

订阅更新,获取越多学学质地,请关怀大家的 微教徒人号 :

上海时时乐走势图 1

上海时时乐走势图 2

注:NTC为热敏电阻,输出为:单总线数字时域信号,单线双向串行通信。

总结

本节商酌了一个最轻便易行的模子,解决两台服务器之间的报导难题。 通过电缆,在两台机器间建构了三个可观的比特流传输信道。 那实质上正是互联网分层结构中最尾部——物理层的效应:

  • 传输比特流
  • 借助于物理(电气)性子

这一层对开荒职员来讲,基本上是晶莹的,大家只需将其精通成三个比特流传输信道就可以。 至于细节难题,高低电平啦,功率信号啦,种种物理特点啦,通通留给电子技术员去关怀好啊!

上海时时乐走势图 3

出殡调控

上海时时乐走势图 4

首先,如上海体育场面,信道是无边的。 因为,信道状态要么为 0 ,要么为 1 ,未有一种表示没事的特种景况。

上海时时乐走势图 5

比方,如上海体育场地, Server 1 向 Server 2 发送比特体系 101101001101 (从右往左读)。 最后三个比特是 1 ,对应的电平是高电平。 发送完结后,由于尚未未有其余地点转移电缆的电平,所以依然维持高电平状态。 也便是说,信道看起来依旧依照既定节拍,络绎不绝地发送 1 (粉末蓝部分), Server 2 怎么检验结尾在何地?

小编们能够定义一些非同小可的比特体系,用于定义开首结尾: 101010 表示初始, 010101 表示最后。

上海时时乐走势图 6

这时, Server 1 先发送 101010 (红色),告诉 Server 2 小编要起来发多少了; 然后, Server 1 开首发送数据 1101011 (中蓝部分); 最后, Server 1 发送 010101 (绿色),告诉 Server 2 数据发送完结。 注意到,日常信道为 1 (中湖蓝),也正是意味空闲状态。

//从DHT11读取一遍数据
//temp:温度值(范围:0~50°)
//humi:湿度值(范围:20%~90%)
//重返值:0,平常;1,读取战败
u8 DHT11_Read_Data(u8 *temp,u8 *humi)    
{        
  u8 buf[5];
u8 i;
DHT11_Rst();
if(DHT11_Check()==0)
{
for(i=0;i<5;i )//读取40位数据
{
buf[i]=DHT11_Read_Byte();
}
if((buf[0] buf[1] buf[2] buf[3])==buf[4])
{
*humi=buf[0];
*temp=buf[2];
}
}else return 1;
return 0;     
}

两服务器通信难题

上海时时乐走势图 7

如上海教室,有两台服务器,分别是 Server 1 和 Server 2 。 大家先做三个万一:计算机网络以往还尚无被发明出来, 作为计算机物教育学家的您,想在这两台服务器间传递数据,如何做?

此时,你或许会想到,用一根电线把两台服务器连接起来:

上海时时乐走势图 8

物理课我们都学过,电线能够分为 低电平 和 高电平 。 电平能够高低变化,那样不就能够传递音信了么: Server 1 调节电缆电平的音量, Server 2 检查实验电平的音量,那样就落到实处了 Server 1 往 Server 2 发送数据啦!

更上一层楼,能够将音量电平抽象成数学语言:我们用低电平表示 0 ,高电平表示 1 ,那样就赢得一个美梦的信道:

上海时时乐走势图 9

由此信道,双方能够传递一些 01 比特流。 例子中,大家传输的比特流是 1111010101... (从右往左看)。 比特流能够编码任性新闻: 比方,大家用 1111 表示报告对方本地开机了,用 0000 告诉对方本地妄图关机了。

到如今结束,大家是或不是万事具有了啊? 叁个比特流信道成为切实?——理论上是那样子的。 不过,现实世界往往要比理想化的模型复杂一些。

上海时时乐走势图 10

进度

上海时时乐走势图 11

1.MCU哪些设置开端数字信号?

原著地址:https://learn-linux.readthedocs.io

QQ交换群:Linux互连网编制程序,群号:183196643

款待关怀我们的大众号:小菜学编制程序 (coding-fan)

EnclaveH是对峙湿度,是用零点温度来定义的,一般,索罗德H在四分之二~65%之内最为稳妥。

冲突仲裁

就算两台服务器同一时间往信道里发送数据,会时有暴发如何事情啊?

上海时时乐走势图 12

早晚争辨了嘛!一台发 0 ,一台发 1 ,那您说信道到底是 0 还是 1 ? 那么,冲突要怎么消除呢?

化解方法也大概,只需在硬件层面完结一种机制:在检验到两台服务器同期发送数据时,及时喊停,并协商到底由哪一方首发。

上海时时乐走势图 13上海时时乐走势图 14

上海时时乐走势图 15

/*从DHT11读取一个位,重临值:1/0。
每一bit数据都以50us的低电平常序初步,高电平的上升的幅度决定了bit数据位的0或1,
高电平状态在26~28us时,表示数据位为0,高电平状态在70us时,表示数据位为1.
DHT11_DQ_IN是读取对应端口引脚的输入电平,在读从前,该引脚要布局为上拉下拉输入情势
*/
u8 DHT11_Read_Bit(void)  
{
  u8 retry=0;
while(DHT11_DQ_IN&&retry<100)//读取高电平中,等待变为低电平,/*&&与<的先行级是<高于&&*/
{
retry ;
SysTickDelay(1);
}
retry=0;
while(!DHT11_DQ_IN&&retry<100)//读取低电平中,等待变高电平
{
retry ;
SysTickDelay(1);
}
SysTickDelay(40);//等待40us
if(DHT11_DQ_IN)return 1;
else return 0;  
}

上海时时乐走势图 16

上海时时乐走势图 17

上海时时乐走势图 18

/*
由MCU向DHT11发送贰次始发复信号,总线空闲状态为高电平,MCU把总线拉低至少18ms,
确认保障DHT11能检查评定到起来功率信号,主机发送初叶数字信号后,能够切换成输入情势,也许切换成
高电平均可,切换成高电平日间一般为20~40us,然后先导读取响应时域信号.
*/
void DHT11_Rst(void)   
{                 
DHT11_IO_OUT();  //配置引脚为通用推挽输出形式
DAOBB = 0;  //拉低DQ
    SysTickDelay(20000);//至少18ms
DAOBB = 1; 
SysTickDelay(30);//主机拉高20~40us
}

//从DHT11读取贰个字节
//重回值:读到的数量
u8 DHT11_Read_Byte(void)    
{        
    u8 i,dat;
    dat=0;
for (i=0;i<8;i ) 
{
    dat<<=1; 
   dat|=DHT11_Read_Bit();
    }    
    return dat;
}

上海时时乐走势图 19

注:上拉电阻状态下,配置为开漏输出,能够扩展使得技巧,减小CPU功耗。

上海时时乐走势图 20

二.前后相继关键点:1)引脚输入与出口的纯正切换,2)输出电平的纯粹延迟,3)输入电平的等候与延迟读取以及等待的时刻限定。

一.硬件介绍

3.怎么着读取四个位的音量电平?前提是曾经有响应确定性信号,那样去读取数据才风趣。
一个位的高低电平是依靠总线上的高电平的年华长短来推断的,说白了,正是低电平一旦甘休,再过28us,总线上的电平为高,这一个位的电平正是高电平,总线上的电平为低,这些位的电平正是低电平。所以我们只要等待总线上的低电平截止,过了28us现在再70us在此之前去读总线上的电平,就能够知晓具体的壹人的电平是稍微了。但我们无法无界定的等候低电平停止,假使器件故障或别的原因,总线上始终低电平,那样程序就能够在等候中死去,所以大家亟须加多个等候时间的范围,当先等待时间,我们就遗弃此次等待。为了使读取后总线上的音量电平不影响下一回的读取数据,大家还加了二个高电平的限期等待。

上海时时乐走势图 21

/*
等待DHT11的回应
回来1:未质量评定到DHT11的留存
重临0:存在DHT11接受到主机的初始非确定性信号后,等待主机的最初复信号结束,
然后发送80us的低电平响应实信号,发送响应复信号后,在把总线拉高80us,计划发送数据*/
u8 DHT11_Check(void)   
{   
u8 retry=0;
DHT11_IO_IN();//将A11口设为输入
  /*&&与<的预先级是<高于&&*/
    while (DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us
{
retry ;
SysTickDelay(1);//这里系统滴答函数要安顿为1US的暂停

if(retry>=100)return 1;
else retry=0;
    while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后会再一次拉高40~80us
{
retry ;
SysTickDelay(1);
}
if(retry>=100)return 1;   
return 0;
}

本文由上海时时乐走势图发布于上海时时乐走势图,转载请注明出处:DHT11温湿度传感器上海时时乐走势图

您可能还会对下面的文章感兴趣: