调DHT22

传感器一共有4个脚,支持iic和单总线

拿到官方文档感觉唤醒时许很简单,mcu先拉低800us;然后释放总线等待(20-200us)传感器响应分析响应信号是传感器先拉低80us然后拉高80us,之后开始发送数据。

看起来简单但我调试了几小时传感器都没有响应,搞得我怀疑传感器是否是坏的,后来在朋友帮助下,从硬件层面解决了问题

1.设置5.1k上拉电阻。这个不是太重要,因为设置为上拉输入。

2.5V供电。虽然官方说3-5v都可以,但和学长实测3。3v传感器无法工作

3.干扰。考虑下静电积累和环境干扰,调到凌晨2点感觉什么都OK但是传感器并没有传回数据结构后来加入一个电容后奇迹出现(接在vcc和vdd间)

4.正对传感器,从左第三个脚最好接地

4.看传回数据时示波器最好时间尺度设置为us级别

你可能感兴趣的:(stm32)