今天刚买到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 语句。