DHT11 测试

今天刚买到DHT11温湿度传感器,用手头的STM32F030R8T6写了一个测试程序

实验环境:
    KEIL 5.12 +  STM32CubeMX4.6 +   STM32Cube1.0
    STM32F030R8T6

测试原理:
    DHT11是 one wire 通信,这里使用的PC4 作为通信口,
    DHT11通信协议中,使用脉冲宽度来区分‘1’和‘0’
    所以在程序中加入了TIM6作为计时器,不同频率时需要使用不同的判断阈值

实验技巧:
    DHT11是 one wire 通信,由于不确定在通信中要等待多长时间,以及器件是否功能正常,所以,先按照协议初始化DHT11,再抓返回的波形,也更加确定,通信中的时间间隔等。

注意事项:
    STM32CubeMX4.6 +   STM32Cube1.0
    在生成STM32F030R8T6程序的时候,startup.s 中,没有TIM6中断。需要自己添加

详细代码:链接:http://pan.baidu.com/s/1gdxWhMz 密码:gnqa

使用前记得看readme.txt和main.c中的 switch 语句。

原文地址:https://www.cnblogs.com/ZBug/p/4596318.html