dht11温湿度传感器工作原理,dht11温湿度传感器测量范围

首页 > 实用技巧 > 作者:YD1662023-12-30 06:00:12

其中,表示 0 的时序如下:

dht11温湿度传感器工作原理,dht11温湿度传感器测量范围(5)

表示 1 的时序如下:

dht11温湿度传感器工作原理,dht11温湿度传感器测量范围(6)

1) DHT11 以低电平应答主机,然后拉高总线准备输出。输出 0 信号和 1 信号都是以低电 平开始高电平结束。

2) DHT11 输出 0、 1 信号的低电平时间相同,而高电平的时间不同,输出 0 信号时高电平 约 26-28us,而当输出 1 信号时高电平约为 70us。

2. 驱动程序 (需要详细注释的话参考 cc2540/cc2530 dht11 程序)

关于字符设备驱动程序的使用,我们可以参照点亮 led 灯的那个实验,这里只给出跟 dht11 密切相关的驱动程序,详细的程序请查看我们的驱动文件!

//从 dht11 中读取一个字节

static unsigned char read_byte(void)

{

unsigned char r_val = 0;

unsigned char t_count = 0; //计时器,防止超时;

unsigned char i;

for(i = 0 ; i < 8 ; i )

{

t_count = 0;

while(!DHT11_STA)

{

udelay(1);

t_count ; if(t_count>250)

{

printk("read_byte error1\n");

return 100;

}

}

t_count = 0;

udelay(32);

if(DHT11_STA == 1)

{

r_val <<= 1; r_val |= 1;

}

else

dht11温湿度传感器工作原理,dht11温湿度传感器测量范围(7)

{

r_val <<= 1; continue;

}

while( DHT11_STA == 1 )

{

udelay(2);

t_count ; if(t_count>250)

{

printk("read_byte error2\n");

return 100;

}

}

}

return r_val;

}

//从 dht11 中读出数据

static unsigned int read_dht11(void)

{

unsigned char t_count = 0; //计时器;

unsigned int dht11 = 0;

dht11温湿度传感器工作原理,dht11温湿度传感器测量范围(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.