DHT21/AM2301 数字温度传感器使用单总线串行接口,完整的湿度温度数据是 40 位;读时高位先出,每次读一位,连续读取 40bit,其中高 16 位是湿度,中间 16 位是温度,后 8 位是校验数据:
0000 0010 1000 1100 | 0000 0001 0101 1111 | 1110 1110
湿度数据 温度数据 校验和
其中校验和应为: 湿度高8位 + 湿度低8位 + 温度高8位 + 温度低8位
例如:0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110
上面的数值表示:湿度 = 65.2%RH 温度 = 35.1℃
当温度低于0℃时温度数据的最高位置1。
例如:-10.1℃表示为1000 0000 0110 0101
用户主机(MCU)发送一次开始信号后,DHT21从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT21发送响应信号,送出40bit的数据,并触发一次信号采集
空闲时总线为高电平,通讯开始时主机(MCU)拉低总线 1~10ms 后释放总线,延时20-40us后主机开始检测从机(DHT21)的响应信号。